- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
软件原理第61行,使用库函数USART_GetITStatus对串口1状态进行了判断,如果串口1确实接收到了字符,那么这个函数返回值为SET,也就是不等于RESET。所以,确认了串口1确实接收到了字符,然后才执行后续程序。第63行USART_ReceiveData函数将接收到的数据赋给变量temp。USART_ReceiveData函数函数的参数是串口号,USART1表示函数从串口1接收区获取所接收的数据。后续程序对temp进行判断,也就是对电脑发送给单片机的字符进行判断。软件原理第89行将中断接收标志清零。单片机根据中断标志进入相应中断服务程序的,串口接收到字符后会射中接收中断标志USART_FLAG_RXNE,进而进入串口中断服务函数。串口接收中断标志不会自动清零,如果程序没有清零,单片机会以为又有新的数据接收到了,从而再次进入串口中断服务函数。函数USART_ClearFlag的第一个参数为USART1,第二个参数USART_FLAG_RXNE,表示清除串口1的接收中断标志位。以免程序进入死循环。程序考核任务将RS232与板卡的接口串口1换到串口2,修改程序,使用串口2完成接收实验。注意:串口USART2属于总线桥APB1。定时器简介定时器中断实验脉冲宽度调制(PWM)实验第六章定时器(TIM)1.定时器简介所有的计算机都有时钟系统,计算机跟着时钟信号的节奏一步步执行程序。比如笔者使用的电脑主频是2.80GHz,如图所示。STM32F103系列单片机主频为72MHz。1.定时器简介时钟信号一般来自于晶振,晶振能够以非常精准稳定的频率振荡,从而输出稳定频率的时钟信号。如何定时:定时器内部有计数器,可以对时钟信号进行自动计数,定时器可以通过计算时钟信号脉冲个数来确定时间。1.定时器简介晶振,全称是晶体振荡器,它能够以非常精准稳定的频率振荡,从而输出稳定频率的时钟信号1.定时器简介STM32F103系列主频最高为72MHz,然而这个72M的时钟信号并不是直接由晶振提供的晶振(1,8M)?PLL?SYSCLK(2,72M)?AHB预分频器(3)?APB1预分频器?定时器2-7的时钟源信号TIMx_CLK(4)1.定时器简介定时器2-7TIMx_CLK频率计算:假设主频为72MHz,AHB预分频系数设为2,APB1预分频器的分频系数为2。首先,经过AHB分频时先变为72MHz/2=36MHz;再经过APB1预分频器,降为36MHz/2=18MHz;然后,由于APB1预分频系数不为1,频率会乘以2,升回18MHz×2=36MHz定时器/计数器如何计时?时钟源频率是36MHz,计数器从0开始计数到999,共1000个时钟脉冲,经过的时间就是:秒。计数器16位的,计数范围最大为216=65536。STM32F103:高级定时器TIM1、TIM8,通用定时器TIM2、TIM3、TIM4、TIM5,两个基本定时器TIM6、TIM7。不同类型的定时器,其功能不尽相同,但都具有基本定时功能。不必关注其很复杂的功能,只需要有所了解即可。2.定时器中断实验将单片机开发板的电源、J-Link连接好。打开配套资料“3.实验例程包\4.定时器\定时器中断\user\”里面的工程文件“project.uvprojx”,将程序编译,编译通过后烧录至单片机。按下学习板上的复位键(RESET),可以看到开发板LED2闪烁,亮和灭的时间都是1s。向上计数模式:计数值逐渐增加,达到预先设定值(称之为预装载值ARR),计数器会自动从0开始继续向上计数,循环往复。达到预装载值ARR时,定时器会产生一个更新(Update)事件,产生一个TIM_IT_Update(定时器更新)中断。向下计数模式:计数值是从预装载值开始逐渐减小为0,然后再次从预装载值往下减。当定时器计数值减为0时则会产生TIM_IT_Update中断。实验原理通用定时器、基本定时器:所有定时器中断源都将进入同一个定时中断服务函数实验原理定时器中断服务函数TIM2voidTIM2_IRQHandler(void)TIM3voidTIM3_IRQHandler(void)…………TIM7voidTIM7_IRQHandler(void)高级定时器:对于不同的中断源,对应不同中断服务函数硬件原理如前所述,STM32时钟系统定时器提供可变的时钟源TIMx_CLK,默认为72MHz,也就是本图中的CK_INT,再经过可编程预分频器(PSC)分频,得到CK_CNT,决定自动装载计数器CNT的值。定时器计时举例
文档评论(0)