1、关于LED的锁存器573的PE2口,先将DDRE=0XFF;PORTE=(1<<2);既是将PE口全部作为输出且PE2口输出为1,其他的不变。
2、 注意(1<<2)的意思是将1左移2位。
3、还有就是关于GCC的编程,要包含头文件<avr/singal.h>和<avr/interrupt.h>,再就是中断函数的写法,SINGAL( )里面表示的是不同的中断源。
4、对于所有的熔丝位,‘1’表示没有编程,‘0’表示已编程。
5、关于AVR的外部中断:AVR128系列的外部中断是通过外部中断引脚INT7:0触发的,并且注意主要是使能了中断,即使你的引脚INT7:0配置为输出,只要外部的电平发生了合适的变化,中断也会触发!
6、关于AVR128的时钟系统:AVR中有很多的时钟,但是这些时钟并不是需要同时工作的,为了降低功耗,可以通过不同的睡眠模式来禁止无需工作的时钟模块。
@1、 CPU时钟:CPU时钟与操作AVR内核的子系统相连,如通用的工作寄存器文件、状态寄存器以及保存堆栈指针的数据寄存器,终止CPU时钟将会使AVR内核停止工作和计算。(有关时钟源的配置请参考相关的寄存器---CKSEL,一般情况下面器件出厂的时候默认的CKSEL=0001,STU=10,这样既是最长启动时间的内部RC振荡器,这样做就是可以保证所有的用户通过系统内部既可以得到需要的时钟源。)
@2、 I/O时钟:I/O口的时钟主要用于I/O口模块,如定时/计数器、SPI和USART。I/O时钟还用于外部中断模块。但是有些外部中断由异步逻辑检测,因此即使I/O时钟停止了工作,这些中断任然是可以触发的。
@3、 Flash时钟:flash时钟控制flash接口的操作。此时钟通常与CPU的时钟是同步的。
@4、 异步定时器时钟:异步定时器时钟允许定时计数器直接由外部的32KHZ的晶振驱动,使得定时计数器即使在睡眠模式下面任然可以为系统提供一个实时的时钟。
@5、 ADC时钟:ADC有专门的时钟。这样可以在ADC工作时停止CPU和I/O时钟,以降低数字电路产生的噪声,从而提高ADC转换精度。
7、注意开发环境的设置,比如如果是ICC,在选择芯片的时候要是128模式的(不是1280模式或者M103模式)!
文章评论(0条评论)
登录后参与讨论