国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

電子工程網

標題: 關于DSP281X變量地址定位問題 [打印本頁]

作者: HotTiDSP    時間: 2009-4-2 21:56
標題: 關于DSP281X變量地址定位問題
在結合硬件的編程中,有些變量需要特定地址.

一般可以采用指針變量.
例如:
unsigned int *LedReg   = (unsigned int *)0x5f00;//發光二極管地址
*LedReg = 0xFF;

但有些時候感覺不是太好時,可以像Keil那樣

unsigned int LedReg at 0x5f00;//發光二極管地址
LedReg = 0xFF;

這樣看著"比較順眼"~~~
但在TIDSP的CCS環境下,不能采用at或__at等來定位地址.
不過CCS也提供了類似的手段,不過有些"麻煩".

具體實現:

1.在CMD文件中

MEMORY
{
PAGE 0:    /* Program Memory */

PAGE 1:    /* Data Memory */

   LED_REG     : origin = 0x005f00, length = 0x00001 /*發光二極管地址*/
   LCD_ComL    : origin = 0x005100, length = 0x00001
   LCD_ComH    : origin = 0x005200, length = 0x00001
   LCD_DatL    : origin = 0x005300, length = 0x00001
   LCD_DatH    : origin = 0x005400, length = 0x00001
   EINT_REG    : origin = 0x005c00, length = 0x00001
   KEY_REG     : origin = 0x005b00, length = 0x00001
   RCLK_REG    : origin = 0x005500, length = 0x00001 /*數碼管鎖存地址*/
}


SECTIONS
{
   LedDataRegsFile   : > LED_REG,     PAGE = 1
   LcdComlRegsFile   : > LCD_ComL,    PAGE = 1
   LcdComhRegsFile   : > LCD_ComH,    PAGE = 1
   LcdDatlRegsFile   : > LCD_DatL,    PAGE = 1
   LcdDathRegsFile   : > LCD_DatH,    PAGE = 1
   KeyRegsFile       : > KEY_REG,     PAGE = 1
   EintRegsFile      : > EINT_REG,    PAGE = 1
   RclkRegsFile      : > RCLK_REG,    PAGE = 1
}

2.在C/C++文件中


#ifdef __cplusplus
#pragma DATA_SECTION("LedDataRegsFile") /*C++語言格式*/
#else
#pragma DATA_SECTION(LedRegs,"LedDataRegsFile");/*C語言格式*/
#endif
volatile unsigned int LedRegs;

/*以下為C++語言格式*/

#pragma DATA_SECTION("LcdComlRegsFile")
volatile unsigned int LcdComL;
#pragma DATA_SECTION("LcdComhRegsFile")
volatile unsigned int LcdComH;
#pragma DATA_SECTION("LcdDatlRegsFile")
volatile unsigned int LcdDatL;
#pragma DATA_SECTION("LcdDathRegsFile")
volatile unsigned int LcdDatH;

#pragma DATA_SECTION("EintRegsFile")
volatile unsigned int EintRegs;

#pragma DATA_SECTION("KeyRegsFile")
volatile unsigned char KeyRegs;

#pragma DATA_SECTION("RclkRegsFile")
volatile bool SpiRclkRegs;


3.在應用程序中

extern unsigned int LedRegs;
extern volatile unsigned int EintRegs;
extern volatile unsigned char KeyRegs;
extern volatile bool SpiRclkRegs;
//............
LedRegs = 0xff;//這樣就不需要指針變量的寫法了
//..................

HotPower@126.com 2008.4.17 1:34
作者: binladen0    時間: 2009-6-18 17:36
我看得就挺順眼的 不過從版主這收益良多啦!


作者: gfd    時間: 2010-7-26 10:24
太強了
作者: JY3006    時間: 2010-9-19 15:03
說的好,明白了
作者: nuaachu    時間: 2010-9-21 11:59
說的好,明白了




歡迎光臨 電子工程網 (http://m.qingdxww.cn/) Powered by Discuz! X3.4
主站蜘蛛池模板: 日本午夜视频在线| 日本免费黄色网址| 日韩av东京社区男人的天堂| 天天干夜夜欢| 色综合久久最新中文字幕| 亚洲欧美一区二区三区久本道| 91精品一区二区三区在线观看| 国产亚洲精品久久久999蜜臀| 日韩1区1区产品乱码芒果榴莲| 人成午夜免费视频拍拍拍| 人人插人人看| 日本wwwxxx| 亚洲第一综合网| 亚洲成年男人的天堂网| 97午夜精品| 久久天堂网| 亚洲中文字幕乱倫在线| 午夜视频在线观看免费视频| 三级国产三级在线| 综合久久网| 在线观看精品视频| 久久中文字幕乱码免费| 亚洲人美女肛交真人全程| 香蕉久久ac一区二区三区| 日韩精品一区二区三区不卡| 一区二区三区视频网站| 亚洲最大看欧美片网站| 国产99久久九九精品无码不卡| 欧美熟妇VIVOE精品| 天天躁躁水汪汪人碰人| 日本中文在线| 日本一道在线| 最近更新在线中文字幕一页| 亚洲综合第一页| 久久re这里视频只精品首页| 亚洲综合色五月久久婷婷| 欧美性高清suv| 亚洲国产艾杏在线观看| 在线观看视频成人| 精品无码国产AV一区二区三区| 亚洲欧美人成视频在线|