×
单片机 > 单片机程序设计 > 详情

STM32-库开发-地址映射

发布时间:2020-09-02 发布时间:
|

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位循环,再来个与操作来通过输入数据引脚在恰当的时序情况下输入电平,这样就实现串行通信!



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil(MDK-ARM)系列教程(七)_菜单