在各種裝置間的傳輸協議或者通訊協議中,一般對資料的字段型別都各不相同,比如bcd碼,bin碼,ascii碼等。下面接收幾種字段型別定義的例項
1.bcd碼
定義乙個16位機器編碼 2018041912345678
uint8_t dev[8] ;
一般兩種儲存方式:
dev[0]=0x20;
dev[1]=0x18;
dev[2]=0x04;
dev[3]=0x19;
dev[4]=0x12;
dev[5]=0x34;
dev[6]=0x56;
dev[7]=0x78;
dev[0]=0x78;
dev[1]=0x56;
dev[2]=0x34;
dev[3]=0x12;
dev[4]=0x19;
dev[5]=0x04;
dev[6]=0x18;
dev[7]=0x20;
2.bin碼
定義乙個費用變數
uint16_t money;
uint8_t buf[128];
money=0x1234;
一般兩種儲存方式:
buf[0]=0x12; buf[1]=0x34
buf[0]=0x34; buf[1]=0x12
3.字串
都是以ascii碼形式上傳
裝置號
const char temp="ay03b000017090003a";
uint8_t buf,len;
len=sprintf((char *)buf, "%s",temp);
這是大端儲存方式
如果小端儲存方式還有進行陣列掉頭
uint8_t datbuf[100];
strchghead(datbuf,(uint8_t *)&buf,len)
void strchghead(unsigned char *dbuf,unsigned char *sbuf,unsigned int slen)
{ unsigned int i;
for(i=0;i
C語言之結構型別
列舉是一種使用者定義的資料型別,它用關鍵字enum宣告如下 enum 列舉型別名稱 列舉型別名字通常並不真的使用,要用d是在大括號裡的名字,因為它們就是常量符號,它們的型別是int,值則依次從0到n。如 enum colors 建立了三個常量,red的值時0,yellow的值是1,而green的值是...
C語言之列舉型別
如果乙個變數有幾種可能的值,則可以定義為列舉型別,就是把各種存在的值一一的列舉出來。列舉在c c c 中,是乙個被命名的整型常數的集合。它可以讓資料更簡潔,更易讀。接下來我們舉個例子,比如 一星期有 7 天,如果不用列舉,我們需要使用 define 來為每個整數定義乙個別名 define mon 1...
C語言之布林型別
c 語言標準 c89 沒有定義布林型別,所以 c 語言判斷真假時以0為假,非0為真但這種做法不直觀,所以我們可以借助 c 語言的巨集定義 c 語言標準 c99 提供了 bool型,bool仍是整數型別,但與一般整型不同的是,bool變數只能賦值為0或1,非 0的值都會被儲存為1,c99還提供了乙個標...