whatdavid 发表于 2014-8-12 12:23:34

想请问一下keil内对内存位置读写的问题

目前使用M051的EBI功能EBI使用16位宽度
目前初始化已经完成
但是写入数值使用*(volatile unsigned int *) (0x60000000) = Temp;
这个指令 发现WR引脚会HI LO两次
(假设Temp = 0x55AA 第一次LO AD0-AD15 = 0x55AA 第二次LO 为0x0000)
原因应该是这一行指令将Temp一次写入32位的资料(等于是0x60000000-0x60000003)被赋值Temp
不过我希望执行一次指令WR引脚动作一次就好请问程式要如何修改
才会把TEMP正确的送出呢

aozima 发表于 2014-8-12 13:34:16

*(volatile uint16_t *) (0x60000000) = 0x55AA;

whatdavid 发表于 2014-8-12 13:44:46

恩可以用了谢谢   请问uint16_t 和unsigned int 的差异是?

谢冲 发表于 2014-8-12 14:14:54

whatdavid 发表于 2014-8-12 13:44
恩可以用了谢谢   请问uint16_t 和unsigned int 的差异是?

typedef unsigned          char uint8_t;
typedef unsigned short   int uint16_t;
typedef unsigned         int uint32_t;
typedef unsigned       __int64 uint64_t;
页: [1]
查看完整版本: 想请问一下keil内对内存位置读写的问题