-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCodiceVideoNucleo.txt
154 lines (120 loc) · 2.81 KB
/
CodiceVideoNucleo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
Arduino
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
****************************************************
STM32 HAL
while (1)
{
HAL_GPIO_TogglePin(GPIOB, LD1_Pin);
HAL_Delay(5000);
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
****************************************************
STM32 Nativo
Main.c
/*
============================================================================
Name : BlinkNoHall.c
Author : Daniele Loddo
Version :
Copyright : Ivotek
============================================================================
*/
#include <stdint.h>
#include "main.h"
void delay();
int main(void) {
RCC_AHBENR_t *AHBENR = (RCC_AHBENR_t*) 0x40021014;
GPIOx_MODER_t *GPIOA_MODER = (GPIOx_MODER_t*) 0X48000000;
GPIOx_ODR_t *GPIOA_ODR = (GPIOx_ODR_t*) 0X48000014;
AHBENR->iopaen=1;
GPIOA_MODER->moder_5 = 1;
while(1){
GPIOA_ODR->ODR_5 = 1;
delay();
GPIOA_ODR->ODR_5 = 0;
delay();
}
}
void delay(){
for(uint32_t i=0; i<300000;i++);
}
Main.h
/*
* main.h
*
* Created on: Dec 1, 2024
* Author: ivotek
*/
#ifndef MAIN_H_
#define MAIN_H_
#include <stdint.h>
typedef struct
{
uint32_t dmaen : 1;
uint32_t res1 : 1;
uint32_t sramen : 1;
uint32_t res2 : 1;
uint32_t flitfen : 1;
uint32_t res3 : 1;
uint32_t crcen : 1;
uint32_t reserved1 : 10;
uint32_t iopaen : 1;
uint32_t iopben : 1;
uint32_t iopcen : 1;
uint32_t usart4rst : 1;
uint32_t iopeen : 1;
uint32_t reserved4 : 10;
} RCC_AHBENR_t;
typedef struct
{
uint32_t moder_0 : 2;
uint32_t moder_1 : 2;
uint32_t moder_2 : 2;
uint32_t moder_3 : 2;
uint32_t moder_4 : 2;
uint32_t moder_5 : 2;
uint32_t moder_6 : 2;
uint32_t moder_7 : 2;
uint32_t moder_8 : 2;
uint32_t moder_9 : 2;
uint32_t moder_10 : 2;
uint32_t moder_11 : 2;
uint32_t moder_12 : 2;
uint32_t moder_13 : 2;
uint32_t moder_14 : 2;
uint32_t moder_15 : 2;
} GPIOx_MODER_t;
typedef struct
{
uint32_t ODR_0 : 1;
uint32_t ODR_1 : 1;
uint32_t ODR_2 : 1;
uint32_t ODR_3 : 1;
uint32_t ODR_4 : 1;
uint32_t ODR_5 : 1;
uint32_t ODR_6 : 1;
uint32_t ODR_7 : 1;
uint32_t ODR_8 : 1;
uint32_t ODR_9 : 1;
uint32_t ODR_10 : 1;
uint32_t ODR_11 : 1;
uint32_t ODR_12 : 1;
uint32_t ODR_13 : 1;
uint32_t ODR_14 : 1;
uint32_t ODR_15 : 1;
uint32_t RESERVED : 16;
} GPIOx_ODR_t;
#endif /* MAIN_H_ */
****************************************************