欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: IAR for AVR下變量和常量可以像Keil C51一樣使用嗎? [打印本頁]

作者: 濤qq623942603    時間: 2022-8-13 10:36
標題: IAR for AVR下變量和常量可以像Keil C51一樣使用嗎?
我想達到的效果時,常量定義下flash里面,然后可以像變量一樣讀取。
和下圖一樣:


然而我移植到AVR里面,卻不行。
下圖是AVR的測試:


后面發現改變Uart_COM1_WR_NByte_F(uint16_t Len,uint8_t const __flash * Array)這個函數的指針類型,也可以操作常量。
如下圖:


這就導致需要寫2個函數,一個是變量指針的函數,一個常量指針的函數,keil C51 可以2個函數通用。而IAR for AVR下不行。



作者: 濤qq623942603    時間: 2022-8-13 10:49
查找資料,有人說AVR是哈佛結構,他的FLASH空間和SRAM空間是重疊的,所以2個函數不能通用,要區分開來,之前以為是我寫法不對,研究了好久,網上的資料大部分是教你如何定義常量到flash,沒有說如何讀取常量。反正我沒辦法了,只能寫2個函數區別,比如打印函數,寫2個,一個可以打印變量的數據,一個打印常量的數據,有沒有大神可以解決這個問題的,讓它變的通用。類似keil_C51 , PIC一樣通用
作者: Y_G_G    時間: 2022-8-13 13:32
問題在于"123",不在于什么結構
IAR和Keil對于"123"這個字符串的定義不一樣
IAR沒有用過,不知道,在Keil中,"123"是被分成"1""2""3"三個ASCII碼的
而且,Keil也可以識別"回家"這種中文的字符串,在別的環境,有的是不行
但如果是C語言,那就是一樣的,沒有什么指令結構這一說的
作者: coody_sz    時間: 2022-8-13 14:44
常量讀取與變量讀取一般不同,51也是不同的。
作者: Hephaestus    時間: 2022-8-13 21:09
我記得AVR是統一編址的啊,應該是AVR可以,51不行。

怎么到你這里就顛倒過來了呢?




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1