【精选】stm32点亮一个led程序 |
您所在的位置:网站首页 › stm32点亮一个led灯程序 › 【精选】stm32点亮一个led程序 |
近来新接触stm32,途中学习的疑惑,32和51有什么区别呢,假设我把它的端口控制都学会了,那和51就没有什么区别吧,接触了几天,确实有很多相似之处,只是51的端口配置比较简单,32的端口因为功能强大,所以配置祥细一些,直接上图了。 它的使用流程是这样的 首先得端口配置 下面第一个标记是GPIOA,就是使用GPIOA这个口的功能,如果是使用B口,就是GPIOB了,学会理解,学会修改 第二个标记这里打开了PIN1~PIN3和PIN7,用哪个打开哪个,简单说就是复制粘贴的事,有样学样复制就行。 第三个标记是初始化GPIOA,就是这个样子,GPIOA配置成功了 第二部分:定义端口 32因为不用sbit了,我就直接用define定义端口使用 第三部分:使用端口 使用的时候,就可以在程序中直接运行名字点亮灯了 配套个程序,让大家参考一下了 //头文件 #include “stm32f10x.h” #include “GPIOLIKE51.h” #define uchar unsigned char #define uint unsigned int #define PA0 PAout(0) //定义端口 #define PA1 PAout(1) #define PA2 PAout(2) #define PA3 PAout(3) #define PA7 PAout(7) //#define PA GPIOA #define PAOUT(x) GPIO_Write(GPIOA, x) //定义PA口 //函数声明 void GPIO_Configuration(void); //============================================================================= //文件名称:Delay //功能概要:延时 //参数说明:nCount:延时长短 //函数返回:无 //============================================================================= void Delay(uint32_t nCount) //延时子程序 { for(; nCount != 0; nCount–); } void delay_ms(uint k) //延时子程序 { uint i,j; for(i=0;i ; } } } //============================================================================= //文件名称:main //功能概要:主函数 //参数说明:无 //函数返回:int //============================================================================= int main(void) { GPIO_Configuration(); PAOUT(0xff); while (1) { PA0=0; //点亮灯 while(1); //停止标记 }} //============================================================================= //文件名称:GPIO_Configuration //功能概要:GPIO初始化 //参数说明:无 //函数返回:无 //============================================================================= void GPIO_Configuration(void) //端口配置 { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA , ENABLE); //============================================================================= //LED -> PC13 //============================================================================= GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_7; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //AIN,IN_FLOATING,IPD,IPU,Out_OD,Out_PP,AF_OD,AF_PP GPIO_Init(GPIOA, &GPIO_InitStructure); } STM32专用keil软件 . 软件,注册机,安装教程都有的。 . 需要软件请联系岁月哥Q:936559219 获取,软件整理不容易,9元发送,谢谢理解 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |