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);