Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
BSP
PIN_GPIO通用驱动
BSP制作的时候BSP内出现的语法错误
发布于 2024-03-27 09:40:51 浏览:297
订阅该版
```c static rt_int8_t stm32_pin_read(rt_device_t dev, rt_base_t pin) { GPIO_TypeDef *gpio_port; uint16_t gpio_pin; GPIO_PinState state = PIN_LOW; if (PIN_PORT(pin) < PIN_STPORT_MAX) { gpio_port = PIN_STPORT(pin); gpio_pin = PIN_STPIN(pin); state = HAL_GPIO_ReadPin(gpio_port, gpio_pin); } return (state == GPIO_PIN_RESET) ? PIN_LOW : PIN_HIGH; } ``` 自制BSP发现MDK编译有这么一个警告 ``` GPIO_PinState state = PIN_LOW; ``` 这句话 ``` warning: #188-D: enumerated type mixed with another type ``` ```c static msh_cmd_opt_t *msh_get_cmd_opt(char *opt_str) { struct finsh_syscall *index; msh_cmd_opt_t *opt = RT_NULL; char *ptr; int len; if ((ptr = strchr(opt_str, ' '))) { len = ptr - opt_str; } else { len = strlen(opt_str); } for (index = _syscall_table_begin; index < _syscall_table_end; FINSH_NEXT_SYSCALL(index)) { if (strncmp(index->name, opt_str, len) == 0 && index->name[len] == '\0') { opt = index->opt; break; } } return opt; } ``` 这个函数的 `if ((ptr = strchr(opt_str, ' ')))`这句话出现 ``` #1293-D: assignment in condition ``` 这个警告 ```c void msh_opt_auto_complete(char *prefix) { int argc; char *opt_str = RT_NULL; msh_cmd_opt_t *opt = RT_NULL; if ((argc = msh_get_argc(prefix, &opt_str))) { opt = msh_get_cmd_opt(prefix); } else if (!msh_get_cmd(prefix, strlen(prefix)) && (' ' == prefix[strlen(prefix) - 1])) { opt = msh_get_cmd_opt(prefix); } if (opt && opt->id) { switch (argc) { case 0: msh_opt_help(opt); break; case 1: msh_opt_complete(opt_str, opt); break; default: break; } } } ``` 这个函数 `if ((argc = msh_get_argc(prefix, &opt_str)))` 出现 `warning: #1293-D: assignment in condition`警告 ```c int cmd_list(int argc, char **argv) { if (argc == 2) { switch (MSH_OPT_ID_GET(cmd_list)) { case RT_Object_Class_Thread: list_thread(); break; case RT_Object_Class_Timer: list_timer(); break; #ifdef RT_USING_SEMAPHORE case RT_Object_Class_Semaphore: list_sem(); break; #endif /* RT_USING_SEMAPHORE */ #ifdef RT_USING_EVENT case RT_Object_Class_Event: list_event(); break; #endif /* RT_USING_EVENT */ #ifdef RT_USING_MUTEX case RT_Object_Class_Mutex: list_mutex(); break; #endif /* RT_USING_MUTEX */ #ifdef RT_USING_MAILBOX case RT_Object_Class_MailBox: list_mailbox(); break; #endif /* RT_USING_MAILBOX */ #ifdef RT_USING_MESSAGEQUEUE case RT_Object_Class_MessageQueue: list_msgqueue(); break; #endif /* RT_USING_MESSAGEQUEUE */ #ifdef RT_USING_MEMHEAP case RT_Object_Class_MemHeap: list_memheap(); break; #endif /* RT_USING_MEMHEAP */ #ifdef RT_USING_MEMPOOL case RT_Object_Class_MemPool: list_mempool(); break; #endif /* RT_USING_MEMPOOL */ #ifdef RT_USING_DEVICE case RT_Object_Class_Device: list_device(); break; #endif /* RT_USING_DEVICE */ #ifdef RT_USING_DFS case LIST_DFS_OPT_ID: { extern int list_fd(void); list_fd(); break; } #endif /* RT_USING_DFS */ default: goto _usage; break; }; return 0; } _usage: rt_kprintf("Usage: list [options]\n"); rt_kprintf("[options]:\n"); MSH_OPT_DUMP(cmd_list); return 0; } ``` 这个函数 ``` default: goto _usage; break; break ``` 这里出现 ``` ..\..\..\components\finsh\cmd.c(1063): warning: #111-D: statement is unreachable ``` 是不是我哪里配置的有问题才出现的错误,看起来是语法错误
查看更多
1
个回答
默认排序
按发布时间排序
markoi
2024-04-04
这家伙很懒,什么也没写!
应该不是你配置的问题
撰写答案
登录
注册新账号
关注者
0
被浏览
297
关于作者
keil
这家伙很懒,什么也没写!
提问
8
回答
9
被采纳
0
关注TA
发私信
相关问题
1
STM32 407 串口接收数据 系统卡死
2
RTT nrf24l01 设备驱动程序
3
stm32f10x串口只能发送数据,无法接收
4
第一次尝试移植rt-thread 到stm32F103系列问题
5
有人把stm32L07xx的bsp移到rtt上来了吗?求一个
6
rt-thread线程调度异常在stm32f103芯片上
7
RTT是否支持STM32F429
8
请问谁有 STM32F40x HAL + RT-THREAD 模板
9
rt-thread在stm32f411下的移植问题
10
针对STM32F7系列平台的MPU,Cache特性,需要注意哪些问题?
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
ota在线升级
UART
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
at_device
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
张世争
8
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
KunYi
6
个答案
1
次被采纳
本月文章贡献
程序员阿伟
5
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部