Initial import of STM32 IoT sensor node

This commit is contained in:
yzfh
2026-10-19 15:47:18 +08:00
commit a51794b022
100 changed files with 46274 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
#ifndef __LED_H
#define __LED_H
#include <stm32f10x_conf.h>
// #define GPIOC_CRL *(volatile unsigned int *)(0x40011000 + 0x00)
// #define GPIOC_ODR *(volatile unsigned int *)(0x40011000 + 0x0C)
// 定义一个无符号类型的 4 字节整数的别名 uint32_t
typedef unsigned int uint32_t;
// 定义一个无符号类型的 2 字节整数的别名 uint16_t
typedef unsigned short int uint16_t;
typedef struct
{
uint32_t CRL; // offset 0x00
uint32_t CRH; // offset 0x04
uint32_t IDR; // offset 0x08
uint32_t ODR; // offset 0x0c
uint32_t BSRR; // offset 0x10
uint32_t BRR; // offset 0x14
uint32_t LCKR; // offset 0x18
} GPIO_typedef;
// 定义 GPIOC 的基地址是 0x40011000
#define GPIOC_base (0x40011000)
// 定义一个 GPIO_typedef 类型指针 GPIOc 指向 0x40011000
#define GPIOc ((GPIO_typedef *)GPIOC_base)
// 初始化 LED
void led_init(void);
// 让编号为 nu 的 LED 点亮, nu 为0,1,2 代表 LED0, LED1,LED2
void led_on(int nu);
// 让编号为 nu 的 LED 熄灭
void led_off(int nu);
// 获取编号为 nu 的 LED 的状态值
int led_get_status(int nu);
// 设置编号为 nu 的 LED 的状态值 status, 0:熄灭, 1:点亮
void led_set_status(int nu, int status);
#endif // __LED_H