其他
浅显易懂!两种方式实现C语言访问MCU寄存器
DDRB = 0xff;
unsigned char *p, i;
p = 0x25;
i = *p; //把地址为0x25单元中的数据读出送入i变量
*p = 0; //向地址为0x25的单元中写入0
sfr P0 = 0x80;
SFR_B(DDRB, 0x28)
CodeVisionAVR中:
sfrb DDRB = 0x28
#define PORTB _SFR_IO8(0x25)
#define _SFR_IO8(io_addr) _MMIO_BYTE((io_addr)+0x20)
#define _MMIO_BYTE(mem_addr) (*(volatile unit8_t *)(mem_addr))
#define _BV(bit)
DDRB = _BV(PB0) | _BV(PB1); //器件头文件中已经定义PB0代表0,PB1代表1
-END-
推荐阅读
【01】深度:震惊世间的惊人代码(附完整代码)【02】编译器如何将高级语言转化成汇编语言的?【03】C语言在嵌入式系统编程时的注意事项【04】由C语言编写的C编译器是怎样来的?【05】还没搞懂C语言指针?最详细的干货讲解【06】C语言结构体(struct)最全的讲解【07】为什么在C语言中,goto这么不受待见?