0
回复
收藏
点赞
分享
发新帖
论坛首页
单片机MCU/嵌入式
请教关于PIC16f7x7单片机I/O口操作!
请教关于PIC16f7x7单片机I/O口操作!
在对单片机的两个I/O口进行输出配置后,在对端口操作的时候,发现其中一个端口输出高电平的时候保持非常短,似乎是对另一个端口操作的时候,此端口就关闭了一样,请问这是怎么回事?
全部回复(7)
只看楼主
正序查看
倒序查看
现在还没有回复呢,说说你的想法
whwh
LV.3
2
2007-07-10 16:02
是不是用了bsf bcf?
0
回复
提示
whatcall
LV.5
3
2007-07-10 21:30
具体是哪一个端口?是哪一款单片机,737吗?
首先检查端口配置是不是完全没有问题.
0
回复
提示
ryan_te200
LV.1
4
2007-07-17 17:00
@whwh
是不是用了bsfbcf?
我用的是C语言
对PORTB的RB4和RB5操作!
端口已经配置好了!
RB4 = 1;
RB5 = 0; //当执行到这句的时候,从示波器上发现,RB4对应的波形也立刻被拉到低电平.
0
回复
提示
ryan_te200
LV.1
5
2007-07-17 17:04
@whatcall
具体是哪一个端口?是哪一款单片机,737吗?首先检查端口配置是不是完全没有问题.
是767
端口配置没有问题
后来我采用对整个端口操作,问题已经回避了!
要彻底解决这个问题,可能要从外部的电路上着手!具体的我也不清楚.前辈能给讲讲I/O口不同配置情况下,其外围电路设计吗?
比如作为输入/输出时,上拉或者下拉电阻的设计,以及何时需要上拉或者下拉电阻,何时不需要,能给讲讲吗?谢谢!
或者发点资料给我ryan_jun@126.com
0
回复
提示
ryan_te200
LV.1
6
2007-07-17 17:13
@whatcall
具体是哪一个端口?是哪一款单片机,737吗?首先检查端口配置是不是完全没有问题.
现在又遇到了一个新问题.
在做两片之间的SPI通讯时(一片有SPI模块,为从接收;一片没有,为从主发送),其中从那片的片选信号ss因为其他原因硬件上没有考虑,后来通过下拉电阻直接接地了.
通讯可以通,但是接收到的数据,不是我发送的.
例如发送0xf3,即1111 0011.
而接收到的是0x3f,0xe7, 0x7e ,0x9f, 0xf9等等,就是说接收的时候第一个clk信号不定.
这难道是片选ss一直是低的原故吗?
0
回复
提示
poppyflower
LV.1
7
2007-07-18 12:59
@ryan_te200
我用的是C语言对PORTB的RB4和RB5操作!端口已经配置好了!RB4=1;RB5=0; //当执行到这句的时候,从示波器上发现,RB4对应的波形也立刻被拉到低电平.
这是读改写指令,要考虑引脚分布电容等因素,中间要加空指令做延时,如果是高主频,可能还得加多几条空指令.可以参看微芯的33023A_cn文档.
RB4 = 1;
asm("nop");
RB5 = 0;
0
回复
提示
ryan_te200
LV.1
8
2007-07-23 10:15
问题已经解决,感谢各位前辈的解惑!
谢谢!
0
回复
提示
工程师都在看
【 DigiKey DIY原创大赛】基于树莓派的自行车电子围栏设计
Godsama
【深度剖析】带你玩转工业物联网设计,实现安全与效率并重!
电源网-fqd
【 DigiKey DIY原创大赛】基于TouchGFX的无线手势音乐播放器之方案提交
lihui710884923
【 DigiKey DIY原创大赛】两级继电器的输出控制接驳电路设计与开发
段智勇
【 DigiKey DIY原创大赛】开源项目 - 恒温加热平台
Jellysplash
精华推荐
换一换
立
即
发
帖