没有对应芯片手册,不知道哪些IO口可以控,测试demo
//sdk\apps\earphone\include\app_config.h //////////↓↓↓↓↓↓↓↓↓↓code snippet from xwh↓↓↓↓↓↓↓↓↓↓//////////////////// #define LED0_IO IO_PORTA_01 #define LED0_ONOFF(x) do{gpio_set_pull_down( LED0_IO, 0);\ gpio_set_pull_up( LED0_IO, 0);\ gpio_direction_output(LED0_IO, x);}while(0) #define LED1_IO IO_PORTA_02 #define LED1_ONOFF(x) do{gpio_set_pull_down( LED1_IO, 0);\ gpio_set_pull_up( LED1_IO, 0);\ gpio_direction_output(LED1_IO, x);}while(0) #define LED2_IO IO_PORTA_03 #define LED2_ONOFF(x) do{gpio_set_pull_down( LED2_IO, 0);\ gpio_set_pull_up( LED2_IO, 0);\ gpio_direction_output(LED2_IO, x);}while(0) //////////↑↑↑↑↑↑↑↑↑↑code snippet from xwh↑↑↑↑↑↑↑↑↑↑//////////////////// //sdk\apps\earphone\include\app_main.h typedef struct _APP_VAR { //... //////////↓↓↓↓↓↓↓↓↓↓code snippet from xwh↓↓↓↓↓↓↓↓↓↓//////////////////// u8 mutex_var0; u8 led0_flash; u8 led1_flash; u8 led2_flash; //////////↑↑↑↑↑↑↑↑↑↑code snippet from xwh↑↑↑↑↑↑↑↑↑↑//////////////////// } APP_VAR; //sdk\apps\earphone\board\br36\board_ac700n_demo.c //////////↓↓↓↓↓↓↓↓↓↓code snippet from xwh↓↓↓↓↓↓↓↓↓↓//////////////////// #include "app_main.h" void delay_execute_func(void*priv) { static unsigned char cnt0;cnt0++;cnt0%=2; if(app_var.led0_flash) { printfbl("cnt0:%d\n",cnt0); LED0_ONOFF(cnt0); } if(app_var.led1_flash) { printfbl("cnt0:%d\n",cnt0); LED1_ONOFF(cnt0); } if(app_var.led2_flash) { printfbl("cnt0:%d\n",cnt0); LED2_ONOFF(cnt0); } printfr("led0_flash:%d,led1_flash:%d,led2_flash:%d\n",app_var.led0_flash,app_var.led1_flash,app_var.led2_flash); } //////////↑↑↑↑↑↑↑↑↑↑code snippet from xwh↑↑↑↑↑↑↑↑↑↑//////////////////// void board_init() { //... //////////↓↓↓↓↓↓↓↓↓↓code snippet from xwh↓↓↓↓↓↓↓↓↓↓//////////////////// u16 timer_id=0; if(!timer_id) { timer_id=sys_timer_add(NULL,delay_execute_func,1500); printf("bg color 底色\n"); for(u8 i=40;i<48;i++) { //font printf("\e[%dm %d\e[0m不加粗\n",i,i); printf("\e[1;%dm %d\e[0m 加粗\n",i,i); } } //////////↑↑↑↑↑↑↑↑↑↑code snippet from xwh↑↑↑↑↑↑↑↑↑↑//////////////////// } //sdk\apps\earphone\key_event_deal.c //////////↓↓↓↓↓↓↓↓↓↓code snippet from xwh↓↓↓↓↓↓↓↓↓↓//////////////////// #include "asm/pwm_led.h" u8 key_value_bak; void delay_change_led_mode(void *priv) { static unsigned char pwmled_mode=PWM_LED_MODE_START; if(pwmled_mode>=PWM_LED_MODE_END){ pwmled_mode=PWM_LED_MODE_START; } else { if((*((u8*)priv))>=11&&(*((u8*)priv))<=20) { pwmled_mode=*((u8*)priv); } else { switch (*((u8*)priv)) { case 9: pwmled_mode--; break; case 10: pwmled_mode++; break; default: break; } } printfc("pwmled_mode:%d\n",pwmled_mode); pwm_led_mode_set(pwmled_mode); app_var.mutex_var0=1; } } //////////↑↑↑↑↑↑↑↑↑↑code snippet from xwh↑↑↑↑↑↑↑↑↑↑//////////////////// int app_earphone_key_event_handler(struct sys_event *event) { //////////↓↓↓↓↓↓↓↓↓↓code snippet from xwh↓↓↓↓↓↓↓↓↓↓//////////////////// key_value_bak=key->value; sys_timeout_add(&key_value_bak,delay_change_led_mode,100); // return; switch (key_value_bak) { case 6: app_var.led0_flash=!app_var.led0_flash; printfy("KEY 6\n"); break; case 7: printfy("KEY 7\n"); app_var.led1_flash=!app_var.led1_flash; break; case 8: printfy("KEY 8\n"); app_var.led2_flash=!app_var.led2_flash; break; default: break; } //////////↑↑↑↑↑↑↑↑↑↑code snippet from xwh↑↑↑↑↑↑↑↑↑↑//////////////////// //... }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2023-04-25 (隐式)自动类型转换
2023-04-25 为什么char*a[]是指针数组,char(*a)[]是数组指针?二者结合顺序不是一样的吗?
2023-04-25 VMware kali2023 桥接模式 联网 局域网主机发现
2023-04-25 地址&a和首地址&a[0]的区别