#define WrUTXH0(ch) (*(volatile unsigned char*)0x50000020)=(unsigned char)(ch) 请问这句话怎么理解

2025-02-25 08:17:21
推荐回答(2个)
回答1:

定义类型,写一个(unsigned char)(ch) 数据给寄存器地址。其中ch是你想要的数字
#define WrUTXH0(ch) (*(volatile unsigned char*)0x50000020)=(unsigned char)(ch)
int main(void)
{
int data=20;
WrUTXH0(data);

解惑了麻烦把分给我!

回答2:

这句话意思是定义一个宏
用以修改一个固定地址(寄存器?)的值
加volatile ,编译器不会将这句话优化掉