发布成功
已关闭
【功能描述】
使用STM32F411最小系统板开发一个高速计数器程序。
外部输入的被测信号T1为一个频率在(几百Hz~几十kHz)的方波信号,STM32F411单片机需要使用内部的高速计时器Timer(32位)以最快速度(100Mhz)对该方波的周期进行计数,并实时的将计数结果通过USB虚拟串口发送到PC上位机。与T1同时输入的同步信号T2,与T1的每6个周期同步,详情见图一。
单片机计数后发送给PC上位机的数据为16进制的ASCII码字符串,相邻周期的计数结果数字之间以空格区分,每6组数据后加入“回车换行”,参见图一。
单片机将T1输入信号设置为上升沿触发的中断端口,在中断服务程序里将当时的计时器Timer的实时数值锁存至内存变量中。主程序观察到新锁存的Timer读数更新后,将新数字与上一次锁存的数字相减后的结果作为刚刚过去的周期长度,通过虚拟串口发送给上位机。参见图二。
【技术要点】
1.中断服务程序需要简洁高效,保证从输入T1的上升沿到锁存Timer的实时数据延迟最小,更重要的是要保证每次进入中断的延迟要一致,这样相减后延迟的部分会抵消。
2.STM32F411单片机自己虽然有比较高速的USART接口,但是超过1M波特率后,电脑端不容易找到高速的USB转TTL电平的转接线。因此最好的方法还是用单片机自己的USB口模拟串口,直接用USB线接电脑。
【交付内容】
开发者需要提交完整的工程文件,包括原始代码。需要通过与我们视频实时演示,以确认软件功能正常。
【其他事项】
我们可以提供STM32F411最小系统板。开发者需要自己准备开发环境,最好是用Keil MDK开发,如果开发者非常需要使用其他开发环境,可以和我们沟通。
1、我爱方案网是会员制服务,服务商通过竞标后即可联系雇主;
2、项目预算与报价不代表最终成交价格,成交价以双方协商为准;
3、平台提供设计项目对接服务,希望促成高效合作,对交易双方不收取佣金,谢谢留意!