|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe |
哪位先進幫我看看我的庫文件錯在什么地方,謝謝! |
| 作者:sky134579 欄目:單片機 |
編譯器:winavr20040214 MCU:ATMEGA64 程序如下: /* 支持庫名:ATMAGA64L ROBOT DRIVER 源文件:RD-ATMEGA64L.h 版本:VO.1 作者:sky 日期:2006年1月20日 系統(tǒng)資源說明1 端口:PA 0~7 PB 0~7 PC 0~7 PD 0~7 PE 0~7 PF0~7 PG0~7 定時器:TCNT0(系統(tǒng)保留) TCNT1 TCN2 串口:UASRT0(RXD0:PE0 TXD0:PE1 ) UASRT1( RXD1:PD2 TXD1:PD3) SCL:PD0 SDA:PD1 外中斷:INT0(PDO) INT1(PD1) INT2(PD2) INT3(PD3) AD 0~7(PA) ADC 0~7(PF) */ #include <avr/io.h> /******************************************************* *************************端口宏定義********************* ********************************************************/ #define Read_PA0 ((PINA<<7)>>7) #define Read_PA1 ((PINA<<6)>>7) #define Read_PA2 ((PINA<<5)>>7) #define Read_PA3 ((PINA<<4)>>7) #define Read_PA4 ((PINA<<3)>>7) #define Read_PA5 ((PINA<<2)>>7) #define Read_PA6 ((PINA<<1)>>7) #define Read_PA7 (PINA>>7) #define Read_PB0 ((PINB<<7)>>7) #define Read_PB1 ((PINB<<6)>>7) #define Read_PB2 ((PINB<<5)>>7) #define Read_PB3 ((PINB<<4)>>7) #define Read_PB4 ((PINB<<3)>>7) #define Read_PB5 ((PINB<<2)>>7) #define Read_PB6 ((PINB<<1)>>7) #define Read_PB7 (PINB<>>7) #define Read_PC0 ((PINC<<7)>>7) #define Read_PC1 ((PINC<<6)>>7) #define Read_PC2 ((PINC<<5)>>7) #define Read_PC3 ((PINC<<4)>>7) #define Read_PC4 ((PINC<<3)>>7) #define Read_PC5 ((PINC<<2)>>7) #define Read_PC6 ((PINC<<1)>>7) #define Read_PC7 (PINC>>7) #define Read_PD0 ((PIND<<7)>>7) #define Read_PD1 ((PIND<<6)>>7) #define Read_PD2 ((PIND<<5)>>7) #define Read_PD3 ((PIND<<4)>>7) #define Read_PD4 ((PIND<<3)>>7) #define Read_PD5 ((PIND<<2)>>7) #define Read_PD6 ((PIND<<1)>>7) #define Read_PD7 (PIND>>7) #define Read_PE0 ((PINE<<7)>>7) #define Read_PE1 ((PINE<<6)>>7) #define Read_PE2 ((PINE<<5)>>7) #define Read_PE3 ((PINE<<4)>>7) #define Read_PE4 ((PINE<<3)>>7) #define Read_PE5 ((PINE<<2)>>7) #define Read_PE6 ((PINE<<1)>>7) #define Read_PE7 (PINE>>7) #define Read_PF0 ((PINF<<7)>>7) #define Read_PF1 ((PINF<<6)>>7) #define Read_PF2 ((PINF<<5)>>7) #define Read_PF3 ((PINF<<4)>>7) #define Read_PF4 ((PINF<<3)>>7) #define Read_PF5 ((PINF<<2)>>7) #define Read_PF6 ((PINF<<1)>>7) #define Read_PF7 (PINF<>>7) #define Read_PG0 ((PING<<7)>>7) #define Read_PG1 ((PING<<6)>>7) #define Read_PG2 ((PING<<5)>>7) #define Read_PG3 ((PING<<4)>>7) #define Read_PG4 ((PING<<3)>>7) #define Read_PG5 ((pING<<2)>>7) #define Read_PG6 ((PING<<1)>>7) #define Read_PG7 (PING>>7) /*************************************************************************** ****************************高級端口定義************************************ ***************************************************************************/ struct PORTBIT { //第88行,編譯器提示有錯的地方 unsigned CHAR Bit0:1; unsigned CHAR Bit1:1; unsigned CHAR Bit2:1; unsigned CHAR Bit3:1; unsigned CHAR Bit4:1; unsigned CHAR Bit5:1; unsigned CHAR Bit6:1; unsigned CHAR Bit7:1; } *PORTA_BIT,*PORTB_BIT,*PORTC_BIT,*PORTD_BIT,*PORTE_BIT,*PORTF_BIT,*PORTG_BIT; /******************************************************************************************函數(shù)說明:高級端口初始化********************************************************************* void PORTDefine(void) { //第104行,有錯的地方 PORTA_BIT=(struct PORTBIT *)0x3b; PORTB_BIT=(struct PORTBIT *)0x38; PORTC_BIT=(struct PORTBIT *)0x32; PORTD_BIT=(struct PORTBIT *)0x2f; PORTE_BIT=(struct PORTBIT *)0X2b; PORTF_BIT=(struct PORTBIT *)0x28; PORTG_BIT=(struct PORTBIT *)0x25; } #define _PA0 (*PORTA_BIT).Bit0 #define _PA1 (*pORTA_BIT).Bit1 #define _PA2 (*PORTA_BIT).Bit2 #define _PA3 (*PORTA_BIT).Bit3 #define _PA4 (*PORTA_BIT).Bit4 #define _PA5 (*PORTA_BIT).Bit5 #define _PA6 (*PORTA_BIT).Bit6 #define _PA7 (*PORTA_BIT).Bit7 #define _PB0 (*PORTB_BIT).Bit0 #define _PB1 (*PORTB_BIT).Bit1 #define _PB2 (*PORTB_BIT).Bit2 #define _PB3 (*PORTB_BIT).Bit3 #define _PB4 (*PORTB_BIT).Bit4 #define _PB5 (*PORTB_BIT).Bit5 #define _PB6 (*PORTB_BIT).Bit6 #define _PB7 (*PORTB_BIT).Bit7 #define _PC0 (*PORTC_BIT).Bit0 #define _pc1 (*PORTC_BIT).Bit1 #define _PC2 (*PORTC_BIT).Bit2 #define _PC3 (*PORTC_BIT).Bit3 #define _PC4 (*PORTC_BIT).Bit4 #define _PC5 (*PORTC_BIT).Bit5 #define _PC6 (*PORTC_BIT).Bit6 #define _ |
| 2樓: | >>參與討論 |
| 作者: sky134579 于 2006/4/6 19:10:00 發(fā)布:
忙乎了一下午,終于解決了. 我的問題是不該在其他頭文件中包含這個頭文件,結果造成重復定義. 還有第88行以下的ATMEGA64的端口地址等問題也搞清楚了. 看來對網友的東東不僅僅是知其然,還必須要知其所以然.自己的腦子不用,真是笨. 也算是個經驗之談. 痛心啊 |
|
|
|
| 免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |