Part Number:MSP430F5438A
在使用iar +msp430f5438a 库函数时,用下面操作寄存器地址来改写寄存器的值,感觉非常方便。于是不要库函数时,也想这样操作,却不行,编译是对的,基地地址和偏移地址是对的,但仿真时寄存器值却不改变。@TI FAE如何在不使用库函数下使用 HWREG8这种方式写寄存器。
#define HWREG32(x) \
(*((volatile uint32_t *)((uint16_t)x)))
#define HWREG16(x) \
(*((volatile uint16_t *)((uint16_t)x)))
#define HWREG8(x) \
(*((volatile uint8_t *)((uint16_t)x)))
HWREG8(base_address + OFS_UCAxCTL1) |= UCSWRST;//spi状态重置
HWREG8(base_address + OFS_UCAxCTL0) |=mode;
HWREG8(base_address + OFS_UCAxCTL1) |= clk ;//时钟和重置SPI
user3854913:
不好意思,以解决。虽然HWREG8,但传递时应为uint16_t.
,
Cherry Zhou:
没关系,感谢您的反馈!随时欢迎您在论坛上进行探讨!