📄 avr.c
字号:
/**************************************************************************
**
** 文件: AVR.c
** 描述: 该文件完成MCU的初始化
**
**************************************************************************/
#include <iom128v.h>
#include <macros.h>
void Port_Init(void)
{
PORTA = 0x00;
DDRA = 0x00;
PORTB = 0x00;
DDRB = 0x00;
PORTC = 0x00; //m103 output only
DDRC = 0x00;
PORTD = 0x00;
DDRD = 0x00;
PORTE = 0x00;
DDRE = 0x00;
DDRE |=1<<6; //测试灯初始化,引脚定义为输出
PORTF = 0x00;
DDRF = 0x00;
PORTG = 0x00;
DDRG = 0x00;
}
void MCU_Init(void)
{
CLI(); //禁止所有中断,相当于SREG &= !(1<<I);
XDIV = 0x00; //分频控制寄存器,不对源时钟分频,使用内部标定的RC振荡器
XMCRA = 0x00; //外部存储器等待周期选择,不等待
Port_Init();
MCUCR = 0x00;
MCUCR |= (1<<SRE); //单片机使能外部SRAM
EICRA = 0x00; //INT3:0的中断电平选择
EICRB = 0xc0; //RTL8019的中断请求信号为高电平有效,没用到
EIMSK = 0x00;
EIMSK |= (1<<INT7); //RTL8019的中断引脚接到单片机的INT7脚,参见硬件连接,没用到
TIMSK = 0x00; //timer interrupt sources
TIMSK |= (1<<TOIE1); //TC1溢出中断使能
TIMSK |= (1<<TOIE2); //TC2溢出中断使能
ETIMSK = 0x00; //extended timer interrupt sources
ETIMSK |= (1<<TOIE3); //TC3溢出中断使能
}
/******************* End Of File **********************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -