08 2018 档案

摘要:STM32F10xxx支持三种复位形式,分别为系统复位、上电复位和备份区域复位。 一、系统复位: 系统复位将复位所有寄存器至它们的复位状态。 当发生以下任一事件时,产生一个系统复位: 1. NRST引脚上的低电平(外部复位) 2. 窗口看门狗计数终止(WWDG复位) 3. 独立看门狗计数终止(IWD 阅读全文
posted @ 2018-08-21 18:19 竹风清 阅读(13612) 评论(0) 推荐(0)
摘要:笔记: (1)如何禁止KEIL初始化RAM为零? 1. 在KEIL Noinit 打钩 2. <1> 另须对需要热启动保持的变量用__at关键字指定某个区域,否则还是没用 (#include "absacc.h") <2>或者__attribute__((zero_init)) 关键字 .bss段 阅读全文
posted @ 2018-08-21 17:19 竹风清 阅读(5890) 评论(1) 推荐(1)
摘要:一些工控产品,当系统复位后(非上电复位),可能要求保持住复位前RAM中的数据,用来快速恢复现场,或者不至于因瞬间复位而重启现场设备。而keil mdk在默认情况下,任何形式的复位都会将RAM区的非初始化变量数据清零。如何设置非初始化数据变量不被零初始化,这是本篇文章所要探讨的。 在给出方法之前,先来 阅读全文
posted @ 2018-08-21 15:11 竹风清 阅读(5990) 评论(0) 推荐(2)
摘要:注意:如果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 竹风清 阅读(140692) 评论(5) 推荐(8)
摘要:STM32串口通信配置(USART1+USART2+USART3+UART4)串口中断函数也用了4种不同的收发方式实现,有定时器和非定时器,串口一也有用独立看门狗防止程序跑飞 阅读全文
posted @ 2018-08-16 17:38 竹风清 阅读(105112) 评论(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 竹风清 阅读(130155) 评论(2) 推荐(15)
摘要:Program Size: Code=86496 RO-data=9064 RW-data=1452 ZI-data=16116 ,简单的说就是在烧写的时候是FLASH中的被占用的空间为:Code+ RO Data + RW Data 阅读全文
posted @ 2018-08-15 22:57 竹风清 阅读(3814) 评论(0) 推荐(0)
摘要:窗口看门狗呵独立看门狗的区别:1、计数所用的时钟源不同: 独立看门狗由内部专门的 40Khz 低速时钟; 窗口狗使用的是 PCLK1 的时钟,使用前需要先使能时钟,而独立狗不需要使能时钟操作; 2、中断不都有: 独立看门狗没有中断,超时直接复位; 窗口狗有中断,超时可以在中断中做复位前的函数操作或者重新喂狗; 3、使用条件推荐: 独立看门狗,一般用于,避免程序跑飞或者死循环; 窗口狗避免程序不安预定逻辑执行,比如先于理想环境完成,或者后于极限时间超时; 4、计数方式不一样: 独立狗的寄存15:0有效,是12位递减的; 窗口狗的寄存器低八位有效,是6位递减的(窗口值最大0x7F); 5、超时复位时间范围不同 独立看门狗:计数器值(tr) < IWDG重装载值时,进行喂狗 窗口看门狗:0x40 < 计数器值(tr) < 窗口值(wr) 时,这期间进行喂狗 窗口狗(0x40是固定的,具体减计数什么时候到0x40由你的预分频值决定) 阅读全文
posted @ 2018-08-15 20:47 竹风清 阅读(27438) 评论(1) 推荐(7)