打印
[STM32F1]

流水灯c语言程序stm32,STM32程序编写基本流程

[复制链接]
342|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
<p>LED流水灯程序初始化流程</p><p>//1.定义<a class="hl hl-1"  target="_blank" data-report-click="{" spm":"1001.2101.3001.7020","dest":"https:="" so.csdn.net="" so="" search?q="%E7%BB%93%E6%9E%84%E4%BD%93&spm=1001.2101.3001.7020&quot;,&quot;extra&quot;:&quot;{\&quot;searchword\&quot;:\&quot;结构体\&quot;}&quot;}&quot;" data-pretit="结构体" data-tit="结构体">结构体</a>变量</p><p>GPIO_InitTypeDef GPIO_InitStructure;</p><p>//2.开启GPIOC的外部时钟,不同的外设开启不同的时钟,IO口复用时两个时钟都要开启。stmf10x_rcc.h</p><p>RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);</p><p>//3.设置要控制的<a class="hl hl-1"  target="_blank" data-report-click="{" spm":"1001.2101.3001.7020","dest":"https:="" so.csdn.net="" so="" search?q="GPIO&spm=1001.2101.3001.7020&quot;,&quot;extra&quot;:&quot;{\&quot;searchword\&quot;:\&quot;GPIO\&quot;}&quot;}&quot;" data-pretit="gpio" data-tit="GPIO">GPIO</a>管脚</p><p>GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5;</p><p>//4.设置管脚模式,推挽输出</p><p>GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;</p><p>//5.设置GPIOC的引脚速度为50MHz</p><p>GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;</p><p>//6.调用库函数初始化GPIOC,初始化IO口</p><p>GPIO_Init(GPIOC,&GPIO_InitStructure);</p><p>//7.关闭所有LED等灯,GPIO_ResetBits(,);GPIO_SetBits(,);置位和清0函数</p><p>GPIO_SetBits(GPIOC,GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5);</p><p>寄存器方式</p><p>GPIO_TypeDef * GPIOx;</p><p>GPI0x=GPIOA;</p><p>//开启GPIOA外设时钟</p><p>GPIOx->APB2ENR|=1<<2;</p><p>//配置GPIOA.3 4 5为推挽输出50MHZ</p><p>GPIOx->CRL|=0X03<<12|0X03<<16|0X03<<20;</p><p>//GPIOA.3 4 5输出0xff。</p><p>GPIOx->ODR=0XFF;</p><p>LED.H</p><p>#ifndef __LED_H</p><p>#define __LED_H</p><p>#include "stm32f10x.h"</p><p>#define LED1(a) if(a)</p><p>GPIO_SetBits(GPIOC,GPIO_Pin_3);</p><p>else</p><p>GPIO_ResetBits(GPIOC,GPIO_Pin_3);</p><p>#define LED2(a) if(a)</p><p>GPIO_SetBits(GPIOC,GPIO_Pin_4);</p><p>else</p><p>GPIO_ResetBits(GPIOC,GPIO_Pin_4);</p><p>#define LED3(a) if(a)</p><p>GPIO_SetBits(GPIOC,GPIO_Pin_5);</p><p>else</p><p>GPIO_ResetBits(GPIOC,GPIO_Pin_5);</p><p>void GPIO_Config(void);</p><p>#endif</p><p>""为行连接符,表示本行与上一行属于同一代码行.</p><p>端口设置可以使用“sys.h“下的PXout(n)=0/1;PXin(n);来进行设置</p>


使用特权

评论回复
沙发
redone| | 2022-10-1 09:45 | 只看该作者
什么都没有啊

使用特权

评论回复
板凳
andygirl| | 2022-10-1 18:33 | 只看该作者
什么也没有了

确定这是嵌入式?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

603

帖子

1

粉丝