这是8位PIC单片机的嵌入式C问题.
假设有一个7段LED显示屏连接到不同端口的不同引脚,假设它们的定义如下:
#define _7seg_A PORTCbits.RC6
#define TRIS_7seg_A TRISCbits.TRISC6
#define _7seg_B PORTCbits.RC5
#define TRIS_7seg_B TRISCbits.TRISC5
#define _7seg_C PORTAbits.RA5
#define TRIS_7seg_C TRISAbits.TRISA5
#define _7seg_D PORTBbits.RB6
#define TRIS_7seg_D TRISBbits.TRISB6
#define _7seg_E PORTBbits.RB5
#define TRIS_7seg_E TRISBbits.TRISB5
#define _7seg_F PORTBbits.RB7
#define TRIS_7seg_F TRISBbits.TRISB7
#define _7seg_G PORTCbits.RC7
#define TRIS_7seg_G TRISCbits.TRISC7
#define _7seg_DP PORTAbits.RA4
#define TRIS_7seg_DP TRISAbits.TRISA4
Run Code Online (Sandbox Code Playgroud)
此外,这是来自编译器的微控制器定义头文件的端口定义:
typedef union {
struct {
unsigned RA0 :1;
unsigned RA1 :1;
unsigned RA2 :1;
unsigned RA3 :1;
unsigned RA4 :1;
unsigned RA5 :1;
};
} PORTAbits_t;
extern volatile PORTAbits_t PORTAbits @ 0x005;
Run Code Online (Sandbox Code Playgroud)
现在,我希望有一个_7seg_DATA
包含所有8个_7seg_X位的调用,当我向它写入数据时,它会自动将它放入定义的引脚中.这可以由工会来完成吗?
例如,如果我这样做_7seg_DATA = 0x00;
将关闭所有LED ..如果我这样做_7seg_DATA = 0xFF;
将点亮所有LED .
归档时间: |
|
查看次数: |
250 次 |
最近记录: |