3464|6

503

帖子

1

TA的资源

一粒金砂(高级)

楼主
 

430FR5969的DMA地址寄存器赋值问题 [复制链接]

本帖最后由 曾经in 于 2015-3-25 13:42 编辑

原地址寄存器和目标地址寄存器DMA0SA、DMA0DA都是SFR_20BIT类型的,不知道该怎么赋值
编译环境是CCS6
定义:
#define SFR_16BIT(address)  extern volatile unsigned int address
typedef void (* __SFR_FARPTR)();//空返回值的函数指针
#define SFR_20BIT(address) extern __SFR_FARPTR address

SFR_20BIT(DMA0SA);                            /* DMA Channel 0 Source Address */
SFR_16BIT(DMA0SAL);                           /* DMA Channel 0 Source Address */
SFR_20BIT(DMA0DA);                            /* DMA Channel 0 Destination Address */
SFR_16BIT(DMA0DAL);                           /* DMA Channel 0 Destination Address */


有官方例程,不过是用FR5967的,改为5969一样会报错
  __data16_write_addr((unsigned short) &DMA0SA,(unsigned long) 0x1C20);
                                            // Source block address
  __data16_write_addr((unsigned short) &DMA0DA,(unsigned long) 0x1C40);
                                            // Destination single address
#770-D conversion from pointer to smaller integer
强制转换也报错
        DMA0DA= (__SFR_FARPTR)&UCB0TXBUF;
#173-D invalid type conversion




好久了都没弄明白,求助大神。。。

最新回复

哦 这样啊,那有没有这个函数呢 __data20_write_addr(),在你的库里面找找看吧  详情 回复 发表于 2015-3-25 15:44
 
点赞 关注

回复
举报

420

帖子

0

TA的资源

一粒金砂(高级)

沙发
 
没用过430的DMA,不过看你的操作。貌似有个错误,指针类型你为什么强制转换成整形呢,要转也是转换成整形指针类型的

点评

是指这个吗?:__data16_write_addr((unsigned short) &DMA0SA,(unsigned long) 0x1C20); 这个TI的例程,这句好像是写寄存器命令,前边的是寄存器地址  详情 回复 发表于 2015-3-25 15:34
 
 

回复

503

帖子

1

TA的资源

一粒金砂(高级)

板凳
 
armcu 发表于 2015-3-25 14:55
没用过430的DMA,不过看你的操作。貌似有个错误,指针类型你为什么强制转换成整形呢,要转也是转换成整形指针类型的

是指这个吗?:__data16_write_addr((unsigned short) &DMA0SA,(unsigned long) 0x1C20);

这个TI的例程,这句好像是写寄存器命令


 
 
 

回复

420

帖子

0

TA的资源

一粒金砂(高级)

4
 
哦 这样啊,那有没有这个函数呢 __data20_write_addr(),在你的库里面找找看吧

点评

好像是类似__bis_SR_register()的命令, open declaration 提示selected text cannot be mapped to a simbol name 不知道源文件在哪  详情 回复 发表于 2015-3-25 16:05
 
 
 

回复

503

帖子

1

TA的资源

一粒金砂(高级)

5
 
armcu 发表于 2015-3-25 15:44
哦 这样啊,那有没有这个函数呢 __data20_write_addr(),在你的库里面找找看吧

好像是类似__bis_SR_register()的命令,

open declaration 提示selected text cannot be mapped to a simbol name

不知道源文件在哪
 
 
 

回复

503

帖子

1

TA的资源

一粒金砂(高级)

6
 
求大侠发一句正确的代码
 
 
 

回复

503

帖子

1

TA的资源

一粒金砂(高级)

7
 
有时就是差那么一点点
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表