新手上路
- 积分
- 28
- 金钱
- 28
- 注册时间
- 2018-9-8
- 在线时间
- 3 小时
|

楼主 |
发表于 2018-9-9 21:38:26
|
显示全部楼层
大佬,按你这个改了,可还是显示不出来频率,我感觉液晶显示的代码也没啥问题啊!
LCD_ShowString(60,130,200,16,16,"Frequency : 0000.00Hz");
LCD_ShowString(60,150,200,16,16,"DutyCycle: 0.00%");
while(1)
{
/* 获取输入捕获值 */
IC1Value = TIM_GetCapture1(TIM1);
IC2Value = TIM_GetCapture2(TIM1);
// 注意:捕获寄存器CCR1和CCR2的值在计算占空比和频率的时候必须加1
if (IC1Value != 0)
{
/* 占空比计算 */
DutyCycle = (float)((IC2Value+1) * 100) / (IC1Value+1);
LCD_ShowxNum(156,150,DutyCycle,1,16,24);//显示占空比值
/* 频率计算 */
Frequency = (float)(((float)72000000.0/(ADVANCE_TIM_PSC+1))/((float)IC1Value+1));
LCD_ShowxNum(156,130,Frequency,4,16,24);//显示频率的值 |
|