P18F14K50的IO口无法操作问题

[复制链接]
3141|4
 楼主| gdutxzy 发表于 2013-1-14 11:58 | 显示全部楼层 |阅读模式
如下面程序,

PORTCbits.RC5=1;
PORTCbits.RC5=0;

我同时写上面两条程序,结果实际测试结果为执行的是第一条,而第二条不执行。
如果我只写一条 PORTCbits.RC5=1; 那么IO根本就不操作,
必需连续写两条,
PORTCbits.RC5=1;
PORTCbits.RC5=0;
但是IO口却只执行第一条。


这是怎么回事,这给我的移植带来了极大的麻烦。

huangxz 发表于 2013-1-14 19:30 | 显示全部楼层
木有这回事吧,你是如何判断执行的是第一条,而第二条不执行的啊。
 楼主| gdutxzy 发表于 2013-1-15 08:27 | 显示全部楼层
huangxz 发表于 2013-1-14 19:30
木有这回事吧,你是如何判断执行的是第一条,而第二条不执行的啊。

直接测IO口的电压,应该不是功能复用影响吧,如果是,应该会IO口输出失败
huangxz 发表于 2013-1-15 09:24 | 显示全部楼层
gdutxzy 发表于 2013-1-15 08:27
直接测IO口的电压,应该不是功能复用影响吧,如果是,应该会IO口输出失败 ...
  1. void main(void)
  2. {
  3. //初始化端口
  4.   TRISCbits.TRISC5=0; //RC5端口设置为输出
  5.   PORTCbits.RC5=1; //RC5端口置为高电平
  6.   PORTCbits.RC5=0;
  7.   while(1);
  8. }


是这样测试的么?
 楼主| gdutxzy 发表于 2013-1-15 10:23 | 显示全部楼层
huangxz 发表于 2013-1-15 09:24
是这样测试的么?

嗯,是这样做的。
不过我没这芯片的开发板,不好直接写最小程序测试(烧录麻烦),所以还是使用了BOOTLOAD程序通过这芯片的USB引脚来自写程序。

现在不管了,直接连续写两条命令了,目前看起来没问题了。
这个引脚是做为软件模拟SPI接口的CSN用的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

153

帖子

1

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