📄 hal.c
字号:
#include "hal.h"
/*
*********************************************************************************************************
* Uart_init
*
* Description :
* Arguments :
* Returned Values : none
* Note(s)/Warnings :
*********************************************************************************************************
*/
void Uart_init(void){
UCSR0B = 0x00;
//RXCn TXCn UDREn FEn DORn UPEn U2Xn MPCMn (UCSRnA)
// 0 0 0 0 0 0 0 0
UCSR0A = B0000_0000;
//UMSELn1 UMSELn0 UPMn1 UPMn0 USBSn UCSZn1 UCSZn0 UCPOLn (UCSRnC)
// 0 0 0 0 0 1 1 0
UCSR0C = B0000_0110;
UBRR0L = 0x14;
UBRR0H = 0x00;
//RXCIEn TXCIEn UDRIEn RXENn TXENn UCSZn2 RXB8n TXB8n (UCSRnB)
// 1 1 0 1 1 0 0 0
UCSR0B = B1101_1000;
}
#pragma vector=USART_TX_vect
__interrupt void Uart_tx_isr(void)
{
if(--cmdn ){
UDR0 = *Cmd++;
}else{
SET_LED;
}
}
//======================================================
void Hal_init(void)
{
_CLI();
CLKPR=0x80;
CLKPR=0x03;
DDRB = B0010_1100;
PORTB = B0001_0011;
DDRC = B0000_0100;
PORTC = B0100_0000;
DDRD = B1110_0010;
PORTD = B0000_1101;
PCMSK0 = B0000_0010;
PCINT0_ENABLE();
OCR2A = 43;
TCCR2A = B0000_0010;
TCCR2B = B0000_0110;
TIMSK2 = B0000_0010;
Uart_init();
EICRA = 0x00; //extended ext ints
EIMSK = 0x00;
//– – – – – OCIE2B OCIE2A TOIE2 (TIMSK2)
SPI_INIT(SCLK_4_M);
SPI_ENABLE();
CCxx_init();
_SEI();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -