发布时间:2018-11-10 16:01:49
截止时间:2018-12-10 16:01:49
项目周期:5-10天
现居地址:天津市东丽区张贵庄街道
项目描述:
用STM32F405RG定时器中断实现0.5us的脉冲序列
一、系统任务
STM32F405接收来自串口(波特率115200)的14个16进制数据(共计14*8=112位),串口数据发送的时间间隔为1秒。单片机采用定时器中断的方式产生0.5us的脉冲序列。具体流程如下:
1、 0x3D 0x4D 0x5D 0x6E 0x7F 0x8A 0x9B0xAA 0xA1 0xA2 0xA3 0xA4 0xA5 0xA6(串口送过来的14个数据)
2、将这些16进制数据转化成2进制后为
0011 1101(0x3D)|| 01001101(0x4D)……||1010 0101(0xA5)||1010 0110(0xA6)
3、针对0和1产生两个相反的脉冲
0的脉冲为 0.5us低电平(0V),0.5us高电平(3.3V);
1的脉冲为 0.5us高电平(3.3V),0.5us低电平(0V);
4、发送完112位脉冲后,单片机端口变为低电平,等待下一次串口数据的到来。
二、验收标准
通过串口调试助手任意发送14个16进制数据,用示波器采集发送的脉冲序列,1、查看脉冲序列的0脉冲是否为0.5us低电平(0V),0.5us高电平(3.3V);
2、查看脉冲序列的1脉冲是否为0.5us高电平(3.3V),0.5us低电平(0V);
3、0.5us脉冲误差不超过0.5us±0.01us。
4、查看112位脉冲序列是否和14个16进制数据匹配。
5、为便于测试,可以在起始位置产生0.5us 高电平,经过2us电平后开始产生112位脉冲序列。
三、用Keil5软件进行编译,提供源代码。
去竞标 |