:::


Browsing this Thread:   1 Anonymous Users






PIC16LF18857 const array儲存在program memory的配置問題
#1
新會員
新會員


查看用戶資訊
想請問一下假設儲存一串const unsigned char array[]到program memory.
PIC16的program memory是以word(14-bit)為單位,我編譯後去看map檔
好像是一個unsigned char放一個位址。

問題:如果一個char佔一個word空間,就會浪費6bits,有沒有方法可以連續儲存,不要空6bits?
但是這樣資料就會被切開,cpu還要把一個char從不同位址抓出來再合起來
除了更耗時間會不會指令更多更浪費空間?


謝謝

發表於: 2017/4/19 10:50
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC16LF18857 const array儲存在program memory的配置問題
#2
管理員
管理員


查看用戶資訊
這是PIC12/16的結構使然, 儲存在程式記憶的資料, 只能使用到較低的8個Bit.
所以目前沒有方法可以處理.....

發表於: 2017/4/19 10:55
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC16LF18857 const array儲存在program memory的配置問題
#3
新會員
新會員


查看用戶資訊
謝謝

那PIC18就可以一個word存兩個chars是嘛?

發表於: 2017/4/19 11:02
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: PIC16LF18857 const array儲存在program memory的配置問題
#4
版主
版主


查看用戶資訊
PIC18 的 Flash 架構是 16-bits,所以可以存兩個 const char 的宣告。

發表於: 2017/4/24 14:54
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
You cannot start a new 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.

[進階搜尋]