打印

请教使用SiliconLab公司C8051F040单片机使用达人。

[复制链接]
2241|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xjycug|  楼主 | 2010-10-23 18:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我有个疑惑,就是将可配置的I/O口配置为特殊内部资源后,还能使用“读”或者“写”端口操作访问IO
口吗?因为我看单片机手册的原理框图,不配置为特殊功能的I/O口才能使用读写操作对I/O口进行访问,
而如果配置为特殊功能的I/O口,则外部引脚直接连接到功能模块。不过我也用过I/O读写操作访问过特殊
功能端口,而且还能读回外部逻辑状态,我不知道这样操作是否正确。希望能得到指点。

相关帖子

沙发
一级菜鸟| | 2010-10-23 18:53 | 只看该作者
配置为特殊功能后,绝大多数情况下不能在当IO口使用,寄存器可读可写,但是已经和IO引脚的实际电平没有关系了

使用特权

评论回复
板凳
xjycug|  楼主 | 2010-10-23 19:48 | 只看该作者
我也是一直觉得配置为特殊功能后不能像访问IO口那样查看引脚外部逻辑。
平时也一直不这样用。但是,最近查看一个原来编写的项目时发现将一个IO口配置为可编程技术阵列 PCA的负沿捕捉功能,但程序中也编写了访问该IO口逻辑电平的判断。当初可能没有经验吧,不过仿真时,还有工作时都是正常的,但是,在手册上没有找到理论依据,不知道长期运行后会不会出现问题,呵呵。

使用特权

评论回复
地板
handlike| | 2010-10-23 20:03 | 只看该作者
PCA只用一个中断,一般我是读取CCF0、CCF1.....来确定哪个触发的。用管脚直接来判断还真没有用过,不过应该没有问题,通过寄存器告诉你和你自己去读其脚值应该是一样的。

上面说的是读入,输出最好不要人为地干预就行了。

使用特权

评论回复
5
shell.albert| | 2010-10-23 21:18 | 只看该作者
新华龙的单片机就是牛,使用起来都这么复杂。

使用特权

评论回复
6
yhn1973| | 2010-10-23 22:47 | 只看该作者
I/O读在任何时候都可以,总是返回管脚处的电平状态。

使用特权

评论回复
7
xjycug|  楼主 | 2010-10-24 11:16 | 只看该作者
呵呵,回去可以设计一个实验,将一个端口配置为串口,然后读串口的发送端或者输出端,在另一个普通IO口输出读回的逻辑状态,使用示波器看看是不是一样。
我又看了看手册,感觉虽然配置为特殊功能,但是特殊功能是经过交叉开关然后到IO口,而读可以直接从端口引脚读回逻辑状态。4楼和6楼应该是正确的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

185

帖子

2

粉丝