AVR I/O 端口的设置
扫描二维码
随时随地手机看文章
我们经常要设置某个I/O口为输出,或者输入,或者带上拉的输入,在fastavr中是这样的:
例子:
设置整个A口为输出:
ddra=255'十进制表示,行首或行尾的单引号之后为注释,默认是绿色
ddra=&hff‘十六进制表示,十六进制数加前缀&h
ddra=&B11111111'二进制表示,二进制数加前缀&B
设置A口高四位为输出,低四位为输入:
ddra=&B11110000
porta=porta Or &b00001111'用逻辑或的方式打开低四位的上拉而不影响高四位的输出状态
设置整个B口为输入:
ddrb=0
ddrb=&h00
ddrb=&b00000000
打开B口的全部上拉,或B口部分上拉:
portb=255:portb=&b11000011'当我们要在一行中写多条语句的时候请将它们用冒号隔开
设置单个I/O口:
set ddra.7’porta第七位为输出口
reset ddrb.0’portb.0为输入口
set portb.0’接着打开portb.0的上拉
当我们要清除某些位而不想影响其它位的时候,用逻辑与 and
porta=porta and &B01111110'porta.7 ,porta.0 被清零而不影响其它位
总结:我们如果只是设置单个输入输出口,我们可以用set ,reset指令,如果要同时改变一个端口的几个位,那么最好
使用逻辑与或非来完成,and是与可以用来清零,or是或可以用来置位,not是非可以用来取反。