#include "has_platform.h" void msg_handle_cb(unsigned char module_id, const unsigned char *buf, unsigned int len) { printf("wifi msg handle\n"); } static OS_THREAD_ID wifi_tid; static void wifi_task(void *param) { (void)param; uint8_t buffer[10] = {1, 2, 8}; uint8_t data[2]; data[0] = 0x5c; data[1] = 0x5d; /* 操作硬件 */ if (has_dev_write(UART, 0, buffer, sizeof(buffer)) != 0) { printf("wifi task: write uart failed\n"); } while (1) { /* 发布消息 */ // has_msg_publish(WIFI, buffer, sizeof(buffer)); /* 处理接收的消息 */ has_msg_handle(WIFI, msg_handle_cb, 1000); has_msg_publish(WIFI, data, sizeof(data)); } } int example_wifi_init(void) { has_task_attr_t task_attr = { .name = "wifi", .entry = wifi_task, .arg = NULL, .stack_size_bytes = 1024U, .priority = HAS_TASK_PRIORITY_NORMAL, .linux_attr = { .sched_policy = -1 }, }; printf("module:WIFI\n"); // has_msg_printf_subscribe(WIFI); /* 创建线程 */ if (has_task_create(&task_attr, &wifi_tid) != 0) { printf("module:WIFI create task failed\n"); return -1; } return 0; } HAS_DECLARE_MODULE(WIFI, example_wifi_init)