0
0
-------------------------------------------------------------------------------------------------------------------------------------
开发环境:AVR Studio 4.19 + avr-toolchain-installer-3.4.1.1195-win32.win32.x86
芯片型号:ATmega16
芯片主频:8MHz
-------------------------------------------------------------------------------------------------------------------------------------
今天临时起意、去看了位域部分的反汇编,看看汇编如何实现位域。
使用到的位域如下定义:
0
-------------------------------------------------------------------------------------------------------------------------------------
开发环境:AVR Studio 4.19 + avr-toolchain-installer-3.4.1.1195-win32.win32.x86
芯片型号:ATmega16
芯片主频:8MHz
-------------------------------------------------------------------------------------------------------------------------------------
第一种实现方式
(2016.10.28)今天临时起意、去看了位域部分的反汇编,看看汇编如何实现位域。
使用到的位域如下定义:
// 事件队列的结构(type[7bit],lock[1bit],data[32bit])
typedef struct
{
uint8_t type :7 ; // 消息类型、如数码管数据有更新:EVENT_SEG_UPDATE
uint8_t lock :1 ; // 加锁标志
uint32_t data; // 消息参数、如数码管的数据:1265214
}T_EVENT_LIST, *pT_EVENT_LIST;
使用这个结构的代码如下:
// --------------------------------------
event_buf