|
|
mis617
鐵驢友〔高級〕
. 積分: 63
. 文章: 512
. 收花: 218 支
. 送花: 11194 支
. 比例: 51.35
. 在線: 585 小時
. 瀏覽: 15522 頁
. 註冊: 8186 天
. 失蹤: 865 天
. 無時不刻覺得自己很忙 |
|
|
|
|
|
|
#1 : 2007-10-17 05:54 PM
只看本作者
|
送花
(0)
送出中...
|
|
|
小弟學寫程式,目前正在看前輩的程式
typedef struct
{
TaskData task;
BatteryState state;
}aioTask;
static void aio_handler(Task task, MessageId id, Message message)
{
uint32 reading;
/* This function receives messages from the battery library */
aioTask* this_task = (aioTask*) task;
battery_reading_source source = this_task->state.source;
power_state state = ((headsetTaskData *)getAppTask())->headset_power_state;
printf(("BAT: state:%d\n",state));
state = state;
switch(id)
{
case BATTERY_READING_MESSAGE :
/* New reading, extract reading in mV and handle accordingly */
reading = (*((uint32*)message));
switch(source)
{
case AIO0:
case BATTERY_INTERNAL:
printf(("BAT: Reading in mV from AIO:%ld\n",reading));
if (IsBatteryDead(reading))
{
MessageSend(getAppTask(), APP_BATTERY_DEAD_IND, 0);
}
else if (IsBatteryLow(reading))
{
MessageSend(getAppTask(), APP_BATTERY_LOW_IND, 0);
}
else if (IsBatteryFull(reading))
{
MessageSend(getAppTask(), APP_BATTERY_FULL_IND, 0);
}
break;
case VDD:
case AIO1:
case AIO2:
case AIO3:
default:
break;
}
break;
default:
printf(("BAT: Unhandled Battery task; message id:0x%x\n",id));
break;
}
}
請問
1. "aioTask*" 與 "(aioTask*)" 的差異在哪?
2. "power_state state = ((headsetTaskData *)getAppTask())->headset_power_state;"是啥意思
小弟是電子硬體的人員,基本上您可以當作我完全不會來幫我解釋
非常感謝各位大大的協助
[mis617 在 2007-10-17 06:00 PM 作了最後編輯]
[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
|
|