您的位置 首页 解答

STM32笔记之七:让它跑起来,根本硬件功用的树立

0、实验之前的准备a)接通串口转接器b)下载IO与串口的原厂程序,编译通过保证调试所需硬件正常。1、flash,lib,nvic,rcc和GPIO,基础程序

0、试验之前的预备

a)接通串口转接器

b)下载IO与串口的原厂程序,编译经过确保调试所需硬件正常。

1、flash,lib,nvic,rcc和GPIO,根底程序库编写

a)这几个库函数中有一些函数是关于芯片的初始化的,每个程序中必用。为保证程序质量,初学阶段要求严格遵守官方习气。留意,官方程序库例程中有个platform_config.h文件,是专门用来指定同类外设中第几号外设被运用,就是说在main.c里边一切外设序号用x替代,比方USARTx,程序会到这个头文件中去查找到底是用那些外设,初学的时分参阅例程别被这个所利诱住。

b)悉数必用代码取自库函数所带例程,并增加逐句注释。

c)习气次序——Lib(debug),RCC(包含Flash优化),NVIC,GPIO

d)必用模块初始化函数的界说:

void RCC_Configuration(void);//界说时钟初始化函数

void GPIO_Configuration(void);//界说管脚初始化函数

void NVIC_Configuration(void);//界说中止办理初始化函数

void Delay(vu32 nCount);//界说推迟函数

e)Main中的初始化函数调用:

RCC_Configuration();//时钟初始化函数调用

NVIC_Configuration();//中止初始化函数调用

GPIO_Configuration();//管脚初始化函数调用

f)Lib留意事项:

归于Lib的Debug函数的调用,应该放在main函数最开端,不要改动其方位。

g)RCC留意事项:

Flash优化处理能够不做,可是两句也不难也不必改参数……

依据需求敞开设备时钟能够节约电能

时钟频率需求依据实际情况设置参数

h)NVIC留意事项

留意了解占先优先级和呼应优先级的分组的概念

i)GPIO留意事项

留意今后的过程中搜集不同管脚使用对应的频率和形式的设置。

作为凹凸电平的I/O,所需设置:RCC初始化里边翻开RCC_APB2

PeriphClockCmd(RCC_APB2Periph_GPIOA);GPIO里边管脚设定:IO输出(50MHz,Out_PP);IO输入(50MHz,IPU);

j)GPIO使用

GPIO_WriteBit(GPIOB, GPIO_Pin_2, Bit_RESET);//重置

GPIO_WriteBit(GPIOB, GPIO_Pin_2, (BitAction)0x01);//写入1

GPIO_WriteBit(GPIOB, GPIO_Pin_2, (BitAction)0x00);//写入0

GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_6) ;//读入IO

k)简略Delay函数

void Delay(vu32 nCount)//简略延时函数

{for(; nCount != 0; nCount–);}

试验过程:

RCC初始化函数里增加:RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB , ENABLE);

不必其他中止,NVIC初始化函数不必改

GPIO初始化代码:

//IO输入,GPIOB的2、10、11脚输出

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 ;//管脚号

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//输出速度

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//输入输出形式

GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化

简略的推迟函数:

void Delay(vu32 nCount)//简略延时函数

{ for (; nCount != 0; nCount–);}//循环计数延时

完结之后再在main.c的while里边写一段:

GPIO_WriteBit(GPIOB, GPIO_Pin_2, (BitAction)0x01);//写入1

Delay(0xffff);

GPIO_WriteBit(GPIOB, GPIO_Pin_2, (BitAction)0x00);//写入0

Delay(0xffff);

就能够看到连接在PB2脚上的LED闪耀了,单片机就跑起来了。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/258776.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部