
STM32
森 屿 麋 鹿
这个作者很懒,什么都没留下…
展开
-
TIM_ClockDivision
TIM_TimeBaseStructure.TIM_ClockDivision = 0;这句话是什么作用?其实仔细看过技术手册后发现这句话与PWM输出实验其实是没关系的,这句话是设置定时器时钟(CK_INT)频率与数字滤波器(ETR,TIx)使用的采样频率之间的分频比例的(与输入捕获相关),0表示滤波器的频率和定时器的频率是一样的。...转载 2020-09-14 01:17:08 · 1737 阅读 · 1 评论 -
TIM3_PWM_Init(899,0); //不分频。PWM频率=72000000(72M)/900=80Khz,怎么理解?
为什么PWM频率:是72M除以arr重装载值呢(感觉回到了小学算术题)1.主函数开始系统时钟已经被8M的HSE晶振倍频为72M了—72MHz=72000KHz=72000000Hz相当于1秒中可以记72000000次数,72000000次/每秒2.定时器TIM1的900重装载值arr我理解为记900次数为一个周期3.那么72MHz记1次数需要的时间是 1/72000000秒,—记900次数需要 900/72000000秒=0.0000125s=12.5us4.f=1/T,频率等于1除以一周期需要转载 2020-09-14 01:01:16 · 10649 阅读 · 0 评论 -
正点原子stm32--串口通信实验讲解里关于USART_RX_STA的问题与思考
目录问题背景问题解决问题背景 u16 USART_RX_STA=0; //接收状态标记 USART_RX_STA的作用就是在全部函数之间实现一个消息传递,自己设置,自己管理,自己识别。 USART_RX_STAbit15bit14bit13~0接收完成标志接收到0X0D标志接收到的有效数据个数问题 在串口中断函数里的一个全句变量USART_RX_STA,阅读串口中断函数里的程序时在想:USART_RX_STA里的数据是如何存原创 2020-09-12 12:45:40 · 40536 阅读 · 119 评论 -
MDK5.29的错误: Error: Encountered an improper argument 的解决方法
最近在使用MDK调试完毕后要退出Debug模式,但是突然卡住了,还报错Error: Encountered an improper argument。只能通过任务管理器将它关闭。 我遇到的主要原因是软件的BUG(我使用的是5.29版本),在网上找了各种方法: 方法一:①程序路径不要有中文字符、空格等,并且退出Debug模式时要消除所设的断点。如果是不是这个原因,是你的版本的BUG的话就用方法二。 方法二:如图: 点击这个,或者Project -> Options for Targ原创 2020-08-18 17:43:32 · 11408 阅读 · 1 评论 -
【正点原子STM32】delay.c文件里关于fac_us=SystemCoreClock/8000000的讲解
最近看了原子哥的 <Systick滴答定时器-延时函数讲解> 讲解视频,讲了两种延时方法,一种是利用systick定时器,另一种是调用延时函数。不过在讲解延时函数的时候说到:fac_us=SystemCoreClock/8000000这里计算出 fac_us=9 ,即延时1us需要9个systick时钟周期 感觉这里讲解的很笼统,不明白为什么。 下面先把原子哥在delay.c文件里讲解的程序放出来方便大家理解。下面在讲解我对这个问题的理解。static u8 fac_us原创 2020-08-17 15:17:24 · 5016 阅读 · 0 评论