C8051F340单片机UART1串口程序运行过程中切换到别的口

[复制链接]
1514|14
 楼主| xbyu520 发表于 2016-7-14 17:57 | 显示全部楼层 |阅读模式
请问各位网友,C8051F单片机运行过程中可以通过代码切换交叉开关吗?比如UART1现在配置在P0.0 P0.1 .在程序合适的地方需要切换到P0.2   P0.3  这样可以实现吗?
 楼主| xbyu520 发表于 2016-7-14 17:58 | 显示全部楼层
主要原因是想按照时间顺序,把UART1做多个串口使用。UART0已经被使用了。
yhn1973 发表于 2016-7-14 18:03 | 显示全部楼层
不可以吧,这个一切换,其他的交叉开关分配管脚也跟着变了,如果交叉开关只有一个串口的话还差不多
 楼主| xbyu520 发表于 2016-7-14 18:09 | 显示全部楼层
感觉按道理应该可以的,如果uart1口在其他口的后面,可以做到不影响其他口
 楼主| xbyu520 发表于 2016-7-14 18:10 | 显示全部楼层
可惜到目前为止,还没调通
ningling_21 发表于 2016-7-14 18:17 | 显示全部楼层
xbyu520 发表于 2016-7-14 18:10
可惜到目前为止,还没调通

改变交叉开关容易影响其它管脚
 楼主| xbyu520 发表于 2016-7-14 21:38 | 显示全部楼层
交叉开关有优先权的,uart1如果排在最后,对前面已经分配的没有影响
ayb_ice 发表于 2016-7-15 06:23 来自手机 | 显示全部楼层
放在后面分配是可以的,或者跳过己使用的PIN
 楼主| xbyu520 发表于 2016-7-15 09:19 | 显示全部楼层
ayb_ice 发表于 2016-7-15 06:23
放在后面分配是可以的,或者跳过己使用的PIN

问题是我不管怎么配置,就是只能在一个iO口上输出,不好轮流切换输出。您实际试验过吗?
yhn1973 发表于 2016-7-15 09:37 | 显示全部楼层
会不会是先后顺序有问题,比如说先不把UART1连到引脚,然后再配置跳过寄存器,然后再把UART1连到引脚
 楼主| xbyu520 发表于 2016-7-15 10:26 | 显示全部楼层
yhn1973 发表于 2016-7-15 09:37
会不会是先后顺序有问题,比如说先不把UART1连到引脚,然后再配置跳过寄存器,然后再把UART1连到引脚 ...

按照你的方法试验了,还是不行
ddlxiaoxu 发表于 2016-7-15 10:45 | 显示全部楼层
不行加个串口扩展芯片吧!
mohanwei 发表于 2016-7-15 11:15 | 显示全部楼层
你先用那个config2来做两份配置文件:1份是默认的,另一份是跳转后的。看看其它管脚是否有冲突。如果没有,把初始化函数改名为init1()和init2(),需要的时候切换一些就好了
 楼主| xbyu520 发表于 2016-7-15 13:54 | 显示全部楼层
本帖最后由 xbyu520 于 2016-7-15 13:55 编辑
mohanwei 发表于 2016-7-15 11:15
你先用那个config2来做两份配置文件:1份是默认的,另一份是跳转后的。看看其它管脚是否有冲突。如果没有, ...

谢谢!我从新配置了IO口参数,现在可以切换了。只是不知道这种用法是不是科学的,是不是厂家允许的。
 楼主| xbyu520 发表于 2016-7-17 11:20 | 显示全部楼层
请问版主,为什么无法给分数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

43

主题

854

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部