本帖最后由 em78447 于 2015-2-9 08:19 编辑
我使用PTD6、7为UART0,PTE0、PTE1为UART1,PTE22、23为UART2。然后我分别给三个串口发出0x55,期望获得高低相间的电平。
结果示波器测试,UART0可以,而1、2一直是3.3V高电平。请问是怎么回事?
我的步骤是:打开总线时钟、打开UART1和PTE0、1的SIM使能、暂关闭UART1收发,设置波特率、设置串口为8位无校验模式,清除标志,启动收发。请问还需要做什么?
我是用的苏州大学红皮书《嵌入式技术基础与实践(第3版)》第6章里的那个初始化函数。只是在1、2里添加了一句
SIM_SOPT2 |= SIM_SOPT2_CLKOUTSEL(0x02); //选择总线时钟
并修改了管脚为PTE0、1、22、23使能
我仿真观察寄存器,U0的C1、C2、C3、C4、C5为0、0x0c、0、0x0f、0
U1的依次为0、0x0c、0、0、0。U2的一样。
也就是U1、2的,与U0的只是过采样率不同。其他配置一样。U0选择MCGPLL,U1、2选择BUSCLK。
|