• slider image 442
  • slider image 477
  • slider image 479
  • slider image 480
  • slider image 481
  • slider image 482
:::


Browsing this Thread:   1 Anonymous Users






Re: 用C如何一個變數佔3個BYTE?
#8
資深會員
資深會員


查看用戶資訊
奇怪?
不是有 short long的變數型態嗎
那就是3byte的變數啦

不過,開板的沒提到用的是哪一套 C compilier
支不支援該型態, 要請自行查看手冊
不過我用的這個是有支援的

不支援的話, 用long 不就好了,
3byte能計算的數字,4byte也一定可以吧


發表於: 2008/6/6 14:38
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 用C如何一個變數佔3個BYTE?
#7
高級會員
高級會員


查看用戶資訊
再C語言裏,是沒有3個BYTE長度的型別(TYPE),所以當然會有錯誤.long型別是4BYTE組成,才能組成union.
要不然就要自訂一個3BYTE型別,再用自定的型別,再去組union.

發表於: 2008/6/5 14:41
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 用C如何一個變數佔3個BYTE?
#6
資深會員
資深會員


查看用戶資訊
大家好:
感謝回應,compiler還是有問題!=>
union AD_TAG { long I; char CH[4]; };

而且也不能這樣設=>
union AD_TAG { long I; char CH[3]; };

Thanks.


發表於: 2008/6/5 12:48
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 用C如何一個變數佔3個BYTE?
#5
高級會員
高級會員


查看用戶資訊
試試看union(共同空間)符合不符合你的需求,如下:
union AD_TAG { int I; char CH[2]; };

union AD_ATG TEST;
TEST.CH[0]=0xaa; //8位元HI byte存取
TEST.CH[1]=0xaa; //8位元Low byte存取
TEST.I=32768;//16位元存取

或是
union AD_TAG { long I; char CH[4]; };

union AD_ATG TEST;
TEST.CH[0]=0xaa; //8第1位元存取
TEST.CH[1]=0xaa; //8第2位元存取
TEST.CH[2]=0xaa; //8第3位元存取
TEST.CH[3]=0xaa; //8第4位元存取
TEST.I=131072;//32位元存取


發表於: 2008/6/5 10:15
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 用C如何一個變數佔3個BYTE?
#4
高級會員
高級會員


查看用戶資訊
試試看union(共同空間)符合不符合你的需求,如下:<br />union AD_TAG { int I; char CH[2]; };<br /><br />union AD_ATG TEST;<br /><br />TEST.CH[0]=0xaa; //8位元HI byte存取<br />TEST.CH[1]=0xaa; //8位元Low byte存取<br /><br />TEST.I=32768;//16位元存取<br /><br />或是<br />union AD_TAG { long I; char CH[4]; };<br /><br />union AD_ATG TEST;<br /><br />TEST.CH[0]=0xaa; //8第1位元存取<br />TEST.CH[1]=0xaa; //8第2位元存取<br />TEST.CH[2]=0xaa; //8第3位元存取<br />TEST.CH[3]=0xaa; //8第4位元存取<br /><br /><br />TEST.I=131072;//32位元存取<br /><br /><br />

發表於: 2008/6/5 10:12
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 用C如何一個變數佔3個BYTE?
#3
資深會員
資深會員


查看用戶資訊
大家好:
感謝回應,但會產生錯誤=>
Error [741] D:\Work\TEST\MICRCHIP\TS_914C\MAIN.C; 46. bitfield too large (24 bits)
or
Error [264] D:\Work\TEST\MICRCHIP\TS_914C\MAIN.C; 45.10 bad bitfield type

我想:
char 8bits
int 16 bits
long 32 bits
所以compiler並不能如此用.
Thanks.

發表於: 2008/6/5 8:00
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 用C如何一個變數佔3個BYTE?
#2
資深會員
資深會員


查看用戶資訊
struct examine
{
int val:24;
};
// 在簡易的 16/32bit CPU 下也許有問題(address error)


見您發言多屬於觀念與語法上的問題,建議不訪上些相關課程,有互動之下效果會比較好,大學所開的相關進修課應該有不少。may google it ?

發表於: 2008/6/4 21:46
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


用C如何一個變數佔3個BYTE?
#1
資深會員
資深會員


查看用戶資訊
大家好:
如題,不知該怎麼設才能達到!
煩請告知.
Thanks.

發表於: 2008/6/4 16:21
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------