2024.04.18每日收穫之聯合體結構體記憶體分配

小智001發表於2024-04-18

今日學習組內前輩留下的程式碼,數碼管動態掃描顯示,發現前輩們用的是聯合體定義掃描引腳,如:
typedef union{
unsigned char a[2];
typedef struct{
unsigned char data0;
unsigned char data1;
}data;
}seg;
此時陣列a[2]和結構體裡的data0和data1共用地址空間,修改陣列或者data會產生相同的結果,如果此時將其定義為掃描的引腳,操作單個引腳時使用data位操作,操作全部引腳時直接使用陣列操作更加方便。
數碼管的陰、陽極掃描,共用口拉低或者拉高,對另外的引腳拉高或者拉低即可實現掃描顯示,掃描頻率大於等於100HZ即可無閃爍(人眼無法察覺)。

相關文章