下载烧写进去能够从串口发送出来正确的数据,但是定时器设置有问题,很快就跳出了等待。把quit()替换为打印“A”,记录如下:
[00:22:14.229]收←◆AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA [00:22:16.166]收←◆AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA [00:22:18.104]收←◆AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA [00:22:20.039]收←◆AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA [00:22:21.976]收←◆AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA [00:22:23.910]收←◆AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA [00:22:25.835]收←◆AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA [00:22:27.772]收←◆AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA [00:22:29.708]收←◆AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 平均隔2s 打印55个A出来。 |
OCR0 改为 OCR0A TIFR 改为 TIFR0 TCCR = 0x0F 改为 TCCR0A = 0x20;TCCR0B = 0x07; |
yzwzfyz 发表于 2024-5-14 21:52 能否帮我改成MEGA1280可用的,成功了50如何? |
当把#include <iom128v.h>改为 #include <iom1280v.h>后,报OCR0、TCCR0、TIFR未定义 |
wufa1986 发表于 2024-5-13 15:15 这个里面相当多的坑,除了提到的两个多余的双引号,转义字符 '\' 全被搞成 '/'。现在编译没有错误了不知道还需要怎么设置才能刷进MEGA1280,只玩过keil,对ICCAVR不熟。请指点:代码修改如下: ![]() 无需积分下载 |
我是这样做的: 1、发送方:上电时。以自己的波特率一直不停地发送55H(AAH也行,目的发出0、1等距脉冲,让对方同步,知道当前的波特率),直到对方回一个标记(例如你说的"C")。 2、规定时间内无返回认为,无设备连接。收到标记,则握手成功。 3、接收方:监察串行输入脚有无输入脉冲,如果能够多次得到4个均匀间隔的脉冲,则认为对方对自己进行同步,计算它的间隔时间,从而得到通讯的波特率,并以此波特率加返回一个接收握手标记(例如你说的"C")。 4、如果引脚上没有脉冲输入,或不是均匀脉冲,则结束监察。 接下来双方接可以正常通讯了。你想如何就如何。 实际应用时,随时监察的,不细述了。 |
你是编译错误还是功能没有对呢,你说编译错误但是你自己已经发现了,还有其他错误吗?没有上传错误提示 |
未能改编成功,请高手私信我 |