摘要: 注意:如果APB1预分频系数为1,则频率不变,否则TIMxCLK的时钟输入频率是APB1时钟的2倍频,这个是通过这句函数实现:18 //设置低速AHB时钟(APB1)为HCLK的2分频(TIM2-TIM5输入TIMxCLK频率将为72MHZ/2x2=72MHZ输入) 19 RCC_PCLK1Config(RCC_HCLK_Div2); 阅读全文
posted @ 2018-08-16 21:54 竹风清 阅读(124065) 评论(5) 推荐(8) 编辑
摘要: STM32串口通信配置(USART1+USART2+USART3+UART4)串口中断函数也用了4种不同的收发方式实现,有定时器和非定时器,串口一也有用独立看门狗防止程序跑飞 阅读全文
posted @ 2018-08-16 17:38 竹风清 阅读(102061) 评论(1) 推荐(4) 编辑
摘要: stm32的flash地址起始于0x0800 0000,结束地址是0x0800 0000加上芯片实际的flash大小,不同的芯片flash大小不同。 RAM起始地址是0x2000 0000,结束地址是0x2000 0000加上芯片的RAM大小。不同的芯片RAM也不同。 Flash中的内容一般用来存储代码和一些定义为const的数据,断电不丢失, RAM可以理解为内存,用来存储代码运行时的数据,变量等等。掉电数据丢失。 STM32将外设等都映射为地址的形式,对地址的操作就是对外设的操作。 stm32的外设地址从0x4000 0000开始,可以看到在库文件中,是通过基于0x4000 0000地址的偏移量来操作寄存器以及外设的。 一般情况下,程序文件是从 0x0800 0000 地址写入,这个是STM32开始执行的地方,0x0800 0004是STM32的中断向量表的起始地址。 在使用keil进行编写程序时,其编程地址的设置一般是这样的: 阅读全文
posted @ 2018-08-16 15:36 竹风清 阅读(126400) 评论(2) 推荐(14) 编辑