[问题] bit field struct 成员同时存取

楼主: chrisos (克里斯)   2014-09-20 22:22:25
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
MPLAB
问题(Question):
我现在在进行PIC单芯片的学习,使用C语言与HI-TECH编译器来开发。
我从我使用的芯片的header file (pic16f73.h) 里看到他对于bit field的一些用法
譬如说一个PORTA的rigister掌握著六个I/O PIN (R0~R5)
他在header file里面的定义是这样
//
作者: jfcherng (小霹雳)   2014-09-20 23:07:00
难道是#define PORTA (*(unsigned char *)(&PORTA_bits))类似这样 http://ideone.com/vaMOlW
作者: scwg ( )   2014-09-20 23:54:00
Aextern __sfr __at(PORTA_ADDR) PORTA; 用 linker 硬把PORT的位址设成跟 PORTA_bits 一样...volatile __PORTA_bits_t __at(PORTA_ADDR) PORTA_bits;不想用 __at 的话就在 union 里加一个 unsigned char 的字段
楼主: chrisos (克里斯)   2014-09-22 16:11:00
谢谢各位,后来经过提醒,发现是我没清楚UNION的用法只要加上UNION的变量,就可利用这个变量对整个BYTE做修改谢谢各位的回答。

Links booklink

Contact Us: admin [ a t ] ucptt.com