历史上的今天
今天是:2024年08月31日(星期六)
2020年08月31日 | PIC18F14k50 中断
2020-08-31 来源:eefocus
//mplab v1.7 mcc18 串口接收中断示例
#include #include #define u8 unsigned char #define u16 unsigned int #pragma config CPUDIV = NOCLKDIV #pragma config USBDIV = OFF #pragma config FOSC = HS #pragma config PLLEN = ON #pragma config FCMEN = OFF #pragma config IESO = OFF #pragma config PWRTEN = OFF #pragma config BOREN = OFF #pragma config BORV = 30 #pragma config WDTEN = OFF #pragma config WDTPS = 32768 #pragma config MCLRE = OFF #pragma config HFOFST = OFF #pragma config STVREN = ON #pragma config LVP = OFF #pragma config XINST = OFF #pragma config BBSIZ = OFF #pragma config CP0 = OFF #pragma config CP1 = OFF #pragma config CPB = OFF #pragma config WRT0 = OFF #pragma config WRT1 = OFF #pragma config WRTB = OFF #pragma config WRTC = OFF #pragma config EBTR0 = OFF #pragma config EBTR1 = OFF #pragma config EBTRB = OFF #define Firmware_led LATBbits.LATB4 #define InitFirmwareLed() LATB |= 1<<4; TRISB &= ~(1<<4) #define Fir_Led_on() Firmware_led = 0 #define Fir_Led_Off() Firmware_led = 1 #define InitSwitch() ANSEL = 0; ANSELH = 0; LATC |= 0xF9; TRISC |= 0xF9; #define SW_MENU PORTCbits.RC0 #define SW_VGA2 PORTCbits.RC4 #define DelayMs(x) { unsigned long _dcnt; unsigned long _ms; _ms = x; while (_ms) { _dcnt=((unsigned long)(0.001/(1.0/2000000)/6)); while(_dcnt--); _ms--; } } void UART_Init(void) { //Fir_Led_on(); TRISBbits.TRISB5 = 1; ANSELHbits.ANS11 = 0; TXSTAbits.TX9 = 0; TXSTAbits.TXEN = 1; TXSTAbits.BRGH = 1; RCSTAbits.RX9 = 0; RCSTAbits.CREN =1; TXSTAbits.SYNC = 0; RCSTAbits.SPEN = 1; BAUDCONbits.BRG16 = 0; SPBRG = 25; RCONbits.IPEN = 1; PIE1bits.RCIE = 1; INTCONbits.PEIE = 1; INTCONbits.GIE = 1; Fir_Led_on(); } //void InterruptHandlerLow(void); //#pragma code InterruptVectorLow = 0x18 //void InterruptVectorLow(void) //{ // _asm // goto InterruptHandlerLow // _endasm //} //#pragma code // //#pragma interruptlow InterruptHandlerLow //void InterruptHandlerLow(void) //{ // unsigned char data; // if(PIR1bits.RCIF) // { // PIR1bits.RCIF = 0; // data = RCREG; // Fir_Led_on(); // } //} void InterruptHandlerHigh(void); #pragma code InterruptVectorHigh = 0x08 void InterruptVectorHigh(void) { _asm goto InterruptHandlerHigh _endasm } #pragma code #pragma interrupt InterruptHandlerHigh void InterruptHandlerHigh(void) { unsigned char data; if(PIR1bits.RCIF) { PIR1bits.RCIF = 0; data = RCREG; Fir_Led_on(); } } void main(void) { unsigned char data; InitSwitch(); InitFirmwareLed(); UART_Init(); while(1) { if(!SW_MENU) { Fir_Led_Off(); } else if(!SW_VGA2) { Fir_Led_on(); } // else if(PIR1bits.RCIF) // { // //PIR1bits.RCIF = 0; // data = RCREG; // Fir_Led_on(); // } } }
上一篇:PIC18**K80配置位详解
史海拾趣
|
我的老天,发现我的2440 BSP是4.2转5.0的,而在调的SDIO驱动是5.0的;请帮忙选择方案:是重新选一个完全5.0的BSP,还是改这个5.0的SDIO 先说在4.2转5.0 BSP上已经做好的工作: 1. 我的板子没有网络,以前改过一个bootloader通过USB来下载eboot,NK.BIN,再运行eboot来烧写NK.BIN; 2. 有开发板厂家提供的LCD驱动(我的项目也就是用到LCD、WIFI) 担心与疑惑: 1. 我的板子没有网络 ...… 查看全部问答> |
|
谈谈 common.reg platform.reg project.reg 的关系 谈谈我的理解,大家看看对不对,或者还有什么补充。 common.reg 与平台无关 platform.reg 相应平台 project.reg 相应项目 它们的优先级为: project > platform > common 就是 project 中的设置会覆盖前 ...… 查看全部问答> |
|
Warning: Found duplicate entry \'binfs.dll NK C:\\WINCE420\\PUBLIC\\11\\RelDir\\SAMSUN~1\\binfs.dll 00000007\' ... skipping Error: Could not ...… 查看全部问答> |




