stm32是世界上最简单的

例一

include "stm32f10x.h"

include "generic.h"

//1.打开时钟 2.配置 3.初始化
例子:点gpioa的第一个灯
void pin_init(GPIO_TypeDef* GPIOx, ,uint16_t GPIO_Pin,GPIOMode_TypeDef GPIO_Mode){ //直接调用这个函数
if(GPIOx=GPIOA)RCC_APB2PeriphClockCdm(RCC_APB2Perph_GPIOA,ENABLE);//打开时钟
else if(GPIOx=GPIOB)RCC_APB2PeriphClockCdm(RCC_APB2Perph_GPIOB,ENABLE);
else if(GPIOx=GPIOC)RCC_APB2PeriphClockCdm(RCC_APB2Perph_GPIOC,ENABLE);
else if(GPIOx=GPIOD)RCC_APB2PeriphClockCdm(RCC_APB2Perph_GPIOD,ENABLE);

GPIO_InitTypeDef gpio_init_struct;//配置
gpio_init_struct.GPIO_Mode= GPIO_Mode_Out_PP;//结构体中ctrl+f查看枚举
gpio_init_struct.GPIO_Speed= GPIO_Speed_50MHz;
gpio_init_struct.GPIO_Pin= GPIO_Pin_1;

GPIO_Init(GPIO,&gpio_init_struct);//初始化
}

int main()
{
//RCC_APB2PeriphClockCdm(RCC_APB2Perph_GPIOA,ENABLE);//打开时钟

//GPIO_InitTypeDef gpio_init_struct;//配置
//gpio_init_struct.GPIO_Mode= GPIO_Mode_Out_PP;//结构体中ctrl+f查看枚举
//gpio_init_struct.GPIO_Speed= GPIO_Speed_50MHz;
//gpio_init_struct.GPIO_Pin= GPIO_Pin_1;

//GPIO_Init(GPIOA,&gpio_init_struct);//初始化
pin_init(GPIO_TypeDef* GPIOA ,uint16_t GPIO_Pin_1,GPIO_Mode_Out_pp);
GPIO_WriteBit(GPIOA,GPIO_Pin_1,(Bitction)0);

while(1)
{

}
}

例二
int adcnum

//ADC采集数据->while->adcnumn(会占用while时间传入adcnum)
//ADC->DMA->adcnum(经过DMA直接传入adcnum)
void MyDMA_Init(uint32_t adcchanl1, uint32_t adcnum,uint16_t times);

//void MyDMA_Init(uint32_t Add_Periph, uint32_t Add_Memory,uint16_t times);//外设地址,内存地址,时间
//void MyDMA_Transfer_once(void);

posted @ 2024-10-19 11:44  深大第一帅er  阅读(8)  评论(0编辑  收藏  举报