查看: 2513|回复: 7

[提问] WINARM中如何直接定义一个指针指向特定的地址? [复制链接]

粉丝 (离线)
积分
3577
帖子
146
发表于 2009-6-24 11:54:29 |显示全部楼层
关键词: WINARM , 地址 , 定义 , 指针
例如:已知UART0 的地址是:0x01D00000
现在要定义一个指针  pUART0 指向0x01D00000 ;
偿试用Keil 中的移过来,没有成功!是什么原因造成的?是不是道行未够?
阿南 (离线)
积分
224552
帖子
940
发表于 2009-6-24 13:05:03 |显示全部楼层
安装目录下有很多可以参考的,比如:
#define rUTXH0 (*(volatile unsigned char *)0x50000020) //UART 0 Transmission Hold
#define rURXH0 (*(volatile unsigned char *)0x50000024) //UART 0 Receive buffer
#define rUTXH1 (*(volatile unsigned char *)0x50004020) //UART 1 Transmission Hold
#define rURXH1 (*(volatile unsigned char *)0x50004024) //UART 1 Receive buffer
#define rUTXH2 (*(volatile unsigned char *)0x50008020) //UART 2 Transmission Hold
#define rURXH2 (*(volatile unsigned char *)0x50008024) //UART 2 Receive buffer
machunshui (离线)
积分
18937
帖子
229
发表于 2009-6-24 13:43:48 |显示全部楼层
强制类型转换
粉丝 (离线)
积分
3577
帖子
146
发表于 2009-6-26 11:53:16 |显示全部楼层
搞定了!原来是keil MDK的调试elf 的小小BUG.
只要在main 之前加上关键字:extern 再次说明一下就OK了 !
lelee007 (离线)
积分
29395
帖子
2683
发表于 2009-6-26 12:39:08 |显示全部楼层
LZ想把函数入口存放在特定地址,然后从汇编中跳过去吧?
宇宙飞船 (离线)
积分
35643
帖子
692
发表于 2009-6-26 17:11:31 |显示全部楼层
//UART0 的地址是:0x01D00000  
俺记得这个是S344B0的UART 地址,看来粉丝在调44B0X?
人生得意须尽欢,莫使金樽空对月,
天生我材必有用,千金散尽还复来。
粉丝 (离线)
积分
3577
帖子
146
发表于 2009-6-26 20:56:25 |显示全部楼层
回 5 楼: 方便调试时查看外设。
pcbkey (离线)
积分
1662
帖子
1485
发表于 2015-2-7 10:11:16 |显示全部楼层
支持一下
您需要登录后才可以发表评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备11013910号 | 京公网安备11010502021702
回顶部