⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 init.c

📁 mega128的串口发送文件.可以发送0X55上位机使用串口调试工具就可以接收了.
💻 C
字号:

#include "glo.h"
void port_init(void)
{
    PORTA = 0xFF;		      //PORTx   端口x数据寄存器
    DDRA  = 0xFF;			  //DDRx    端口x方向寄存器 1为输出,0为输入
 
    PORTB = 0xFF;
    DDRB  = 0x00;
 
    PORTC = 0x00;            //m103 output only
    DDRC  = 0xFF;
 
    PORTD = 0x7F;
    DDRD  = 0x00;
 
    DDRE  = 0xFC;
    PORTE = 0x0B;
    DDRE  = 0x00;
 
    PORTF = 0xFF;
    DDRF  = 0x00;
 
    PORTG = 0x00;
 
    DDRB |= 0XFF;			  //PB.4/PB.5/PB.6按键输出 
    DDRF |= 0xF0;			  //CS1~CS4 输出
// DDRF &= 0xFE;		  //MIC输入
 
 DDRG |= 0x07;			  //ALE/RD/WE输出
 DDRG &= 0xE7;			  //DDRG.3,DDRG.4输入
  
 DDRD |= 0x70;			  //LCD_RS/LCD_RST/LCD_CS输出
 DDRD |= 0X01;			  //SCK I2C时钟线输出 
 DDRD |= 0X08;			  //OE 输出0
  
 DDRD |= 0x80;			  //A16输出0
 PORTD&= 0x7F;
 

}


void spi_init(void)
{
 DDRB  |=0x07;
 PORTB &=0xf8; 	   				//选择3548
 SPCR = 0x54; 					//setup SPI,SPI使能,主机模式,为1/4分频
 SPSR= 0x01; 					//setup SPI  SPI选择加速,为1/2分频
}

void uart0_init(void)
{
 UCSR0B = 0x00; 	   			  //disable while setting baud rate
 UCSR0A = 0x00;					  //发送等待缓冲器
 UCSR0C = 0x06; 				  //异步通信,8位数据
 UBRR0L = 0x5F; 				  //0x08; //set baud rate lo 9600
 UBRR0H = 0x00; 				  //set baud rate hi
// UCSR0B =0X00;
 UCSR0B = 0x98; 				  //接收结束中断使能,接收使能,发送使能
}

//-------------------------------------------------------------------------------
/*
MCU初始化
*/
//-------------------------------------------------------------------------------
//call this routine to initialize all peripherals
void init_devices(void)
{
    
    CLI();
   
    XDIV=0x00 ;
  
  //timer1_init();
     port_init();
    //	
    spi_init();
    //
    uart0_init();
    //
   // adc_init();
    
   // int_isr_init();
    //中断设置
    
   // Initial_3544();
    //
   // i2c_init();
    LCD_init();
    //MCUCR = 0x00;//电源管理控制寄存器
    
    TIMSK=0x04 ;
    
    ETIMSK=0x00 ;
    
    MCUCR=0xc0 ;
    
    
    //1100 0000									   
    XMCRA=0x0e ;
    // 读/写操作插入2个等待周期。输出新地址之前还要插入1个等待周期 
    //- SRL2 SRL1 SRL0 SRW01 SRW00 SRW11 -	
    //7------------------------0
	
    XMCRB=0 ;
                     //(1<<XMBK);				   // 使能外部扩展随机存储器总线保持功能 
                     //XMBK - - - - XMM2 XMM1 XMM0    								   
                     //XMBK 外部存储器总线保持功能使能
                     //XMM2~0 外部存储器高地址屏蔽
    
    UCSR0B|=0x80 ;
    //开串口接收中断  	
    SEI();
   		
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -