chuanhuibh 发表于 2008-4-26 18:01:42

EK-STM32F的USART缺陷(MAX202要+5V供电)---我搞错了,然来DEMO需要RTS硬件握手(已解

调了几天USART都不行,PC上接不到数据,检查硬件时才发现原理图上是 ST3232,但万利焊的是 MAX202,虽说管脚兼容,但是MAX202要+5V.,3.3V只能是3232.
记得波仔也遇到这个问题,他以为MAX202坏了,其实不环,也不行的需要重焊3232,或者把RXD TXD引出再接电平转换了


注意,已修改好了,问题解决了,大家注意
------不好意思,是我之前没仔细看,然来DEMO是有硬件握手信号,我把DEMO(USART的Example1)改了改:
USART_InitStructure.USART_BaudRate = 9600;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No ;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;

USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_InitStructure.USART_Clock = USART_Clock_Disable;
USART_InitStructure.USART_CPOL = USART_CPOL_Low;
USART_InitStructure.USART_CPHA = USART_CPHA_2Edge;
USART_InitStructure.USART_LastBit = USART_LastBit_Disable;

上述的 USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;原本是
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_RTS_CTS;就是说要与PC的串口通过RTS,CTS握手,但是万利的班子上


RTS,CTS没有通过MAX202连接到PC,所以不行,第一句的波特率改成9600,以前的115200太快.
现在通讯正常

atommann 发表于 2008-4-26 18:25:06

我正在看这块板的原理图,图纸上是 ST3232,PCB 上焊的却是 MAX202。

luxinsun 发表于 2008-4-26 18:52:54

也可以。

benladn911 发表于 2008-4-26 18:56:09

哦? 我试过是可以用的。上次实验通过串口ISP程序的时候,没有问题的。

估计也是MAX202在3V3下 时稳定时不稳定造成的。

ccccccc 发表于 2008-4-26 19:15:20

max232可以稳定的在3.3V下跑,难道max202不行?

chuanhuibh 发表于 2008-4-26 19:47:12

可是我的不行, DATASHEET写的是+5V的,以前MAX232我试过也不正常,有时会接到乱码.
2楼和3楼的可以? 太幸运了,我的不行,我还用镊子把STM32的RXD和TXD短路,然后在 串口调试助手发数据, PC端没有接到数据,以前我就是这种方法测UART硬件的,这次回路不通 ,MAX202有问题的

chuanhuibh 发表于 2008-4-26 19:50:39

http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_260862.GIF
(原文件名:MAX202.GIF)

chuanhuibh 发表于 2008-4-26 19:51:32

感觉3.3V和5V相差很远,万利不应该这么将就

pulan 发表于 2008-4-26 20:09:00

新出的原厂的maxim的max232可以在3.3v下工作

tdmi 发表于 2008-4-26 23:13:43

在速度不是特别高的情况下,MAX232可以在3.3下工作

binglin 发表于 2008-4-27 13:16:42

呵呵,我板子配套光盘上的例子"UARTDemo2"串口初始化部份原本就是:

USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None

wanghu1232001 发表于 2008-5-3 18:41:53

万利自己的UARTDemo2波特率更大:
USART_InitStructure.USART_BaudRate = 230400;
我试了下,直接把uart1,uart2连起来,LCD显示“pass”,说明也是可以用的

zhshzcz 发表于 2008-5-4 22:03:35

max3232 是3.3的引脚与max232兼容

benladn911 发表于 2008-5-4 23:45:41

如果有人要测试串口的功能,可以跑USART里的example2,这个例子没有用到硬件流控制

hkap 发表于 2008-5-6 11:31:01

也遇到这种问题,谢谢提醒

hzrobin 发表于 2008-7-21 17:10:18

谢谢提醒,不过我的板子上是ST3232

like027 发表于 2008-7-22 01:01:17

昨晚调试了一晚上没有调试出来,发现每次单步进了中断后程序就卡在中断里,单步执行会有The stack 'CSTACK' is filled to 100%的错误,昨晚上没有注意,以为是硬件的问题,刚才试着把xcl文件里的cstack从0x400该为0x800,问题就解决了,真的是C堆栈太小了。另外要注意的是USART_InitStructure.USART_WordLength = USART_WordLength_8b;里面的8b wordlength包括了奇偶校验位,所以你的串口工具里的数据位应该为7位。

chuanhuibh 发表于 2008-7-25 22:16:47

xcl我没改 ,好像 一般没问题 ,

bluelucky 发表于 2008-8-11 12:12:30

以下蓝色文字由版主:bluelucky 于:2008-08-11,12:12:30 加入。<font color=black>请发贴人注意:本贴放在这分区不合适,即将移走
原来分区:ARM技术论坛
即将移去的分区:Cortex-M3技术讨论区
移动执行时间:自本贴发表1小时后
任何的疑问或咨询,请可随时联系站长。谢谢你的支持!</font>

mikerki555 发表于 2013-4-10 17:25:53

新手啊不懂,还得学
页: [1]
查看完整版本: EK-STM32F的USART缺陷(MAX202要+5V供电)---我搞错了,然来DEMO需要RTS硬件握手(已解