CSR8670 MessagePioChanged
static void app_handler(Task task, MessageId id, Message message){
switch(id)
{
case MESSAGE_PIO_CHANGED:
handle_pio(task, (MessagePioChanged*)message);
break;
default:
printf("Unhandled message 0x%x\n",id);
}
}
static void handle_pio(Task task, MessagePioChanged *pio)
{
if (pio->state & BUTTON_A)
printf("BUTTON A pressed\n");
if (pio->state & BUTTON_B)
printf("BUTTON B pressed\n");
}
(MessagePioChanged*)message和 MessagePioChanged *pio是什么意思啊,没搞懂MessagePioChanged是个什么
MessagePioChanged是个结构体,成员如下:
uint16 state; //The state of PIO lines 0..15 when this message was sent.
uint32 time; //The time at which that state was valid.
uint16 state16to31; //The state of PIO lines 16..31 when this messsage was sent.
kandy11 发表于 2017-5-13 22:25
MessagePioChanged是个结构体,成员如下:
uint16 state; //The state of PIO lines 0..15 when this...
谢谢,大概猜想是个结构体,不过在哪里查到的,我没查到。
另外,(MessagePioChanged*)message 是什么表示法,没见到过,麻烦您指点一下,谢谢您
(MessagePioChanged*)message 是强制类型转换。
VM library Doxygen里面有这个的具体说明,你可以找一下。
路过学习一下。。。。
kandy11 发表于 2017-5-14 13:28
(MessagePioChanged*)message 是强制类型转换。
VM library Doxygen里面有这个的具体说明,你可以找一下。 ...
好的,谢谢,刚开始学习,很多资料不知道如何下手查阅:handshake
页:
[1]