历史上的今天
今天是:2025年02月16日(星期日)
2020年02月16日 | AVR端口先设置方向还是先赋值?
2020-02-16 来源:eefocus
简介:AVR端口先设置方向还是先赋值的讨论
我对这个问题进行过仔细研究,最后得出结论,还是先电平后方向合理。
正如4楼所说,时间长短,但是还是存在的。
电平和方向寄存器默认都是0x00。即:
DDRX = 0X00;
PROTX = 0X00;
如果我们想将它设置为输出、高电平,下面来分析两者区别:
A先方向后电平:
DDRX = 0XFF; 那么此时电平寄存器PORTX = 0X00,那么这个时候IO口向外输出低电平,注意此时是“输出低电平”。
PORTX = 0XFF; 运行此语条后,IO口即会“输出高电平”。
经过上面两条语我们达到了目的,输出高电平,同志们有没有发现在输出高电平前面还有一个“输出低电平”,也许你会觉得时间太短uS级的,时间短并不代表不存在,我们一定要严格要求自己。这个短短的错误电平会给系统带来一个电平突变、某此电路会不会刚好受不了这种突变而产生错误。此电平时间短同时会带来一点点信号干扰信号。
B先电平后方向:
PORTX = 0XFF; 那么此时方向寄存器DDRX = 0X00,此IO口向外为上拉状态。
DDRX = 0XFF; 经过这条语句,也达到了目的。
后面一种从上拉变到高电平,比前面低电平变到高电平,要缓和一些。
下一篇:如何给AVR16芯片解锁
史海拾趣
|
网址:[url=http://www.rupeng.com/forum/jian-2472.html][/url] 说明:许多学生就是通过这个网站找到个自己的好工作!我相信,它也不会让你失望!!!… 查看全部问答> |
|
请教各位高手,我用phoneMakeCall拨电话,程序会自动调用系统的电话程序,但是当我关掉电话程序后,我的程序可以正常运行,但是当我要退出程序时,机器就会死掉,请问这是什么原因呢?我怀疑是什么没释放,但是怎么释放呢,或者有什么其它的更好的 ...… 查看全部问答> |
|
要购买电子元器件样品的种类太多,何止千种、万种型号,一般搞电子维修和科研的在自己所在城市很难找全自己想要的电子元器件,毕竟不专业的电子元器件市场,是没办法吸引到大批有现货的供应商驻扎的,异地购买是无法回避的购买途径,目前国内最大的 ...… 查看全部问答> |
|
最近调试程序,发现ST的固件库中到处都是assert_param(),不清楚其编译结果,感觉这个“校参”过程很影响效率 在stm32f10x_conf.h中找到其源代码: /* Exported macro ------------------------------------------------------------*/ #ifdef D ...… 查看全部问答> |
|
Cyclone V GX开发板的第一轮使用试用已经结束一段时间了,笔者发现在论坛里和群里的网友对C5内嵌的硬核内存控制器(Hard Memory Controller)表现出浓厚的兴趣。这篇补充的应用笔记加深了之前对HMC的讨论,并且给出详细的例化步骤,期望能够给新上 ...… 查看全部问答> |
|
【连载】【ALIENTEK 战舰STM32开发板】STM32开发指南--第五十六章 USB声卡实验 第五十六章 USB声卡实验 上一章我们向大家介绍了如何利用STM32的USB来做一个USB读卡器,本章我们将利用STM32的USB来做一个声卡。本章分为如下几个部分:56.1 USB读卡器简介56.2 硬件设计56.3 软件设计56.4 下载验证 56.1 ...… 查看全部问答> |




