![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STM32
tin39
这个作者很懒,什么都没留下…
展开
-
STM32串口问题
采用如下方式发送数据 while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);USART_SendData(USART1, version[i]); 会产生硬件错误,不知为何。当时正是从IAP启动到simserver的应用程序,需要发送程序版本号,此时所按上述顺序发送数据则硬件出错或一直死等,直到狗重启。原创 2010-03-24 16:55:00 · 482 阅读 · 0 评论 -
STM32的IAP使用注意
1、在NVIC_Configuration()函数中,需要将中断向量表的偏移地址设置为0x2000,NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x2000); 2、修改stm32f10x_flash.icf文件, 修改define symbol __ICFEDIT_intvec_start__ = 0x08002000;原创 2010-03-24 11:23:00 · 1426 阅读 · 0 评论 -
有关volatile的体会
以前用volatile只是用来定义寄存器变量,也听说多进程编程需要用到这个,一直没有深刻体会。 今天,通过编译器高级优化,终于发现volatile的重要性了。 问题主要是在给UC864模块开机过程中等待时发生的。 close_mobile_time=0; while(close_mobile_time 两句话,简单地等到close_mobile原创 2010-05-12 11:45:00 · 499 阅读 · 1 评论 -
【分析】STM32从Flash中运行程序的时序分析
大家都知道STM32的CPU时钟频率可以达到72MHz,以后还会更快,但是由于半导体制造工艺的限制,存放程序的Flash存储器不可能达到这么高的工作频率,这样当CPU直接访问Flash存储器时必须插入等待周期以得到正确的结果。问题是在Flash的速度比CPU慢的情况下,是不是可以简单地说STM32在执行Flash中的程序时每条指令都需要插入等待周期呢?等待周期的插入对程序的执行到底有多大的影响转载 2010-05-13 11:47:00 · 714 阅读 · 0 评论 -
STM32别名区
/**********************GPIO别名储存器映射表*************************///GPIOC_ODR[15..0]映射到别名区//GPIOC_ODR ADDRESS=0x4001 100C//别名区 ADDRESS=0x4200 0000 + (0x0001 100C*0x20) + (bitx*4) ;bitx:第x位#define PC_原创 2010-05-12 13:41:00 · 739 阅读 · 0 评论