完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
追问
#include #define x RA0 void main() { uchar unsigned y,w; w=0; while(1) { x=w; //此时RA0输出状态为0 y=1; if(y==1) { w=1; //此时RA0输出状态出错 } } }我是一个初学者,可能对单片机还有很多不理解,上面程序中为什么当W=1时,RA0口的输出状态不是为1,是不是单片机不能这么操作, |
|
相关推荐
7个回答
|
|
|
|
PIC 的单片机的IO口的寄存器和51的不一样,它在用的时候要想定义IO口的方向,就是说 是做输入用 还是输出用 然后才能去想51那样的 你这个明显没有定义IO口的方向
|
|
|
|
#include #define x RA0 void main() { uchar unsigned y,w; TRISA=0x00; PORTA=0x00; ANSELH=0x00; ANSEL=0x00; w=0; while(1) { x=w; //此时RA0输出状态为0 y=1; if(y==1) { w=1; //此时RA0输出状态出错 } } } 前面的方向寄存器是我写漏了,其实此贴我最想问的就是在单片机C语言W能不能这样赋值,为什么最后W=1时RA0输出状态出错,前面x=w; 时RA0输出状态为0 又是对的, |
|
|
|
本帖最后由 popeye0451 于 2013-2-2 10:32 编辑
你检测管脚状态时,是单步调试检测的吧,当执行完w=1后,程序循环再执行x=w后,你检测还是零吗? |
|
|
|
本帖最后由 wangwenzhao0052 于 2013-2-2 11:30 编辑
对呀,我昨天试了好久,好像W=1;虽然能执行,但不能把值送到RA0,是不是不能这样赋值, |
|
|
|
没用过PIC,不过为什么要这句#define x RA0 你如果直接用RA0=w呢? |
|
|
|
{:9:}{:9:}
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
417 浏览 0 评论
430 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
393 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
974 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1055 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11773 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 23:03 , Processed in 0.658737 second(s), Total 85, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号