mega2560串口数据错乱
我使用mega2560的串口0和串口1进行编程,程序如下:void setup() {
Serial1.begin(9600);
Serial.begin(9600);
}
void loop() {
int inByte=10;
Serial1.print(inByte);
Serial.print(inByte);
delay(1000);
结果串口0给的值是对的,串口1输出值不对。串口1是直接接到电脑的串口上的,板子里的地线接了串口的5脚 串口0是通过mega2560板上的usb口接到电脑上看的 电平问题,用USB转TTL电平的串口模块应该就没问题.
如果好运气的话Serial1还没烧 wing 发表于 2012-4-17 21:15 static/image/common/back.gif
电平问题,用USB转TTL电平的串口模块应该就没问题.
如果好运气的话Serial1还没烧
我现在在串口1的高电平是5v,但是连接电脑的串口上没有接电阻 其實我不太記得電腦串口的電平標準範圍了,如果有空的話您可以查下資料確認下.
不過印象中是10V左右才是RS232的典型值,
不過無論怎麼說都好,USB模塊應該是比穩妥的解決方法 wing 发表于 2012-4-17 21:43 static/image/common/back.gif
其實我不太記得電腦串口的電平標準範圍了,如果有空的話您可以查下資料確認下.
不過印象中是10V左右才是RS2 ...
好的,谢谢 建议把解决方案写一下。
因为可能会有其他的Geek会遇到这个问题。
简单的讲一下应该是RS232 和 TTL的电气化协议的不同导致的。
ttl是采用的0-5v电压。RS232 是采用的+-15V电压。 因此这个请款应该在Serial1 -Serial3上增加 一个Max232 芯片进行转换。 昨天看了郭天祥的教程其中有说道,电脑串口电平为-12v高电平 +12v低电平 好像 BlackCat 发表于 2012-6-23 14:10 static/image/common/back.gif
昨天看了郭天祥的教程其中有说道,电脑串口电平为-12v高电平 +12v低电平 好像
恩,用一个max232就好~~~ 电脑串口是RS232电平的,正负15左右,Arduino串口是TTL电平的,0-5V,不能直接接,需要接个usb转换器或MAX232转换器
页:
[1]