![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32
灼灼Q其华
这个作者很懒,什么都没留下…
展开
-
STM32F4手动调整时钟
void RccConfig(void){/* 禁止中断 */RCC->CIR = 0;/* 使能HSE */RCC->CR = 0x10000;/* 等待HSE稳定 */while( (RCC->CR & 0x20000) == 0 );/* 使能时钟安全检测 */RCC->CR |= 0x80000;/* 填写PLL参数 */RCC-原创 2016-05-25 20:38:25 · 442 阅读 · 0 评论 -
STM32的启动流程分析
STM32上电的时候从0x00000000处取得SP的值, 从0x00000004处取得PC的值.Flash的地址是0x08000000,被映射到了0x00000000处,对0x00000000的读写就相当于对0x08000000的读写Keil好像会把RESET这个只读的数据段当道0x08000000处,所以要加上这段汇编代码 AREA RESET, DATA,原创 2016-05-22 17:30:01 · 418 阅读 · 0 评论 -
用汇编语言实现STM32的LED和USART
;;;; AREA RESET, DATA, READONLY DCD 0x20000000 + 1024 ;0 DCD UserMain ;1 DCD 0 ;NMI 2 DCD 0 ;HardFault 3 DCD 0 ;MemManage 4 DCD 0 ; 5 DCD 0 ; 6 DCD 0 ; 7原创 2016-05-22 17:08:05 · 3159 阅读 · 0 评论 -
Cortex M3使用PendSV异常
我个人理解PendSV就是一个软中断(由软件触发的中断),触发方法为SCB->ICSR |= 1 软中断有什么意义?我软中断何不直接调用PendSV_Handler()?效果不是都一样? 要讲清楚这两者之间的区别就必须了解Cortex M3的运行模式, Cortex M3有两种操作模式:Handler模式(可以简单的认为就是中断服务函数中的代码)和Thread模式(普通的代码), 两种特权级别:原创 2017-02-04 19:14:57 · 1832 阅读 · 0 评论