今天用两块ATmega6L做CAN通信,结果程序搞定后,编译时出了状况。具体状况是如果编译时不使用优化,那么通信无法实现收发,使用O1级别的优化后,通信可以正常实现,但是程序中的延时什么的全挂了,只好改用自带的延时函数,但是感觉优化对延时还是有影响啊,但是由于程序附带AD采样,同一通道根据单片机收到的信息分别进行6次AD采样,但是采样结果前三次偏差很大,而后三次的值基本正确。因为以前遇到的都是优化后不能工作的情况,故来此请教各位,请大家帮忙分析分析是个什么情况?为什么通信要优化后才工作?优化能工作的程序,不应该不优化也能使用么(当然了,前提是不超出存储空间)?优化会对AD采样产生什么影响?
由于工作原因,刚接触AVR不久,请各位不吝赐教。
附件是今天做的程序,请各位指正。
多谢各位了
PA1045.rar
本文含有来自论坛的附件或图片点击查看原帖附件。
本文来自论坛,点击查看完整帖子内容。