AVR端口先设置方向还是先赋值?
来源:百度文库 编辑:神马文学网 时间:2024/04/28 01:20:40
我对这个问题进行过仔细研究,最后得出结论,还是先电平后方向合理。
正如4楼所说,时间长短,但是还是存在的。
电平和方向寄存器默认都是0x00。即:
DDRX = 0X00;
PROTX = 0X00;
如果我们想将它设置为输出、高电平,下面来分析两者区别:
A先方向后电平:
DDRX = 0XFF; 那么此时电平寄存器PORTX = 0X00,那么这个时候IO口向外输出低电平,注意此时是“输出低电平”。
PORTX = 0XFF; 运行此语条后,IO口即会“输出高电平”。
经过上面两条语我们达到了目的,输出高电平,同志们有没有发现在输出高电平前面还有一个“输出低电平”,也许你会觉得时间太短uS级的,时间短并不代表不存在,我们一定要严格要求自己。这个短短的错误电平会给系统带来一个电平突变、某此电路会不会刚好受不了这种突变而产生错误。此电平时间短同时会带来一点点信号干扰信号。
B先电平后方向:
PORTX = 0XFF; 那么此时方向寄存器DDRX = 0X00,此IO口向外为上拉状态。
DDRX = 0XFF; 经过这条语句,也达到了目的。
后面一种从上拉变到高电平,比前面低电平变到高电平,要缓和一些。
正如4楼所说,时间长短,但是还是存在的。
电平和方向寄存器默认都是0x00。即:
DDRX = 0X00;
PROTX = 0X00;
如果我们想将它设置为输出、高电平,下面来分析两者区别:
A先方向后电平:
DDRX = 0XFF; 那么此时电平寄存器PORTX = 0X00,那么这个时候IO口向外输出低电平,注意此时是“输出低电平”。
PORTX = 0XFF; 运行此语条后,IO口即会“输出高电平”。
经过上面两条语我们达到了目的,输出高电平,同志们有没有发现在输出高电平前面还有一个“输出低电平”,也许你会觉得时间太短uS级的,时间短并不代表不存在,我们一定要严格要求自己。这个短短的错误电平会给系统带来一个电平突变、某此电路会不会刚好受不了这种突变而产生错误。此电平时间短同时会带来一点点信号干扰信号。
B先电平后方向:
PORTX = 0XFF; 那么此时方向寄存器DDRX = 0X00,此IO口向外为上拉状态。
DDRX = 0XFF; 经过这条语句,也达到了目的。
后面一种从上拉变到高电平,比前面低电平变到高电平,要缓和一些。
AVR端口先设置方向还是先赋值?
先吃饭还是先喝汤
先吃饭还是先喝汤
先补血还是先补铁?
先安内还是先攘外
分类网站:先“分”还是先“类”?
是先要钱还是先要自尊?
叶长茂:先民主化,还是先自由化
大清国困境:先反腐还是先改革?
先有成功还是先有幸福?
先吃饭,先喝汤,还是先吃水果?
先有“鸡”还是先有蛋
写歌是先作词还是先作曲?
搜索引擎营销:思维为先还是技术为先?
搜索引擎营销思维为先还是技术为先?
离婚女人,是先要钱还是先要自尊?
离婚是先要钱还是先要自尊?
先拆还是先建,这是一门艺术 - Qzone日志
任志强:先拆还是先建,这是一门艺术
做培训应先挣钱还是先树品牌?
专家解释:先吃饭还是先喝汤? [图]
存款20万夫妇 先买房还是先投资?
先拿钱后干事还是先干事后拿钱
先拿钱后干事还是先干事后拿钱