STM32-库开发-地址映射
扫描二维码
随时随地手机看文章
1.stm32有AHB,APB2,APB1总线。
其中APB2外设地址空间是从0x40010000至0x40013FFF地址。第一个地址称为基地址。
2.参考手册中端口配置寄存器有地址偏移0x04,所以GPIOC_CRH地址为GPIOC_BASE+0x04
GPIO_TypeDef结构体!,里面的CRL,CRH,IDR等共7个变量,之间0x04地址偏移,以后修改GPIO寄存器:
GPIO_TypeDef * GPIOx;
GPIOx = GPIOA;
GPIOx->CRL = 0xffffffff;
3.配置GPIO的寄存器要开启外设时钟!区别于51单片机!
注意使用不同的外设都要开启相应的时钟
库函数的实现原理,通过书上对GPIO_Init的实现代码解释,熟悉函数的实现原理及思想。
4.GPIO 4种输入模式,可通过GPIO结构图分析。
我们可以看到上拉,下拉,浮空,关闭TTL的模拟输入。
其中浮空模式一般用于标准的通信协议如I2C,USART接收端。
当我们用ADC时,则选择模拟输入,关闭TTL,将电压信号直接传送到片上外设。
3.简单的按键控制LED灯的反转。(类似于单片机的按键思想)
先是按键的GPIO配置,然后按键扫描。最后用户应用程序。
4.EXTI15_10_IRQHandler
在学习中断过程中我们知道NVIC,EXTI等初始化,在选择某外部中断时需要注意EXTI15_10_IRQHandler,在此函数里面可以写进我们的中断处理程序。
5.GPIO_WriteBit(GPIOB, LED1, (BitAction)((1-GPIO_ReadOutputDataBit(GPIOB, LED1))));
此运算的含义。
6.在串行通信的过程中,了解了按照时序图编程的思想,一个stm32一个引脚对应clock,上升沿时另一个引脚输入数据,其中clear对应的引脚要保持合理的电平。通过一个好 算法:一个for 8位循环,再来个与操作来通过输入数据引脚在恰当的时序情况下输入电平,这样就实现串行通信!