Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
BSP
[求助]RTT使用8组IIC接口,发现BUG?
发布于 2020-04-13 20:20:23 浏览:1321
订阅该版
使用的是KEIL+ENV的方式进行开发的。用的是V4.0.1版本的程序。 通过查看RTT的源码,默认最大支持4组I2C接口。 ![11.jpg](/uploads/202004/13/195808myo447ejj57f4696.jpg) 我分别在与I2C接口的几个位置增加到了可以支持8组I2C。 进入ENV,配置将8组I2C接口全部打开。 ![22.jpg](/uploads/202004/13/200057beae1ef5et3ky55p.jpg) 经过scons之后,编译下载,可以看到8个I2C的设备全部挂载成功。 ![33.jpg](/uploads/202004/13/200331hqxxn858qf58e3td.jpg) **现在,我的问题是:** 如果我在ENV里重新配置,只用I2C8 ![44.jpg](/uploads/202004/13/200559jndnf4tzg5jax5l4.jpg) scons,编译下载,I2C8不能挂载。 再试! ![55.jpg](/uploads/202004/13/200858crpqfgramqrcq2cn.jpg) 经过反复测试,似乎只有在启动的系统默认的4个I2C设备时候,启动了一些额外的东西,这样后我添加I2C才能启动挂载。 这是什么原理?
查看更多
9
个回答
默认排序
按发布时间排序
xquery
2020-04-13
这家伙很懒,什么也没写!
源码我上传不了,只有网盘分享下, 工程在:rt-thread\bsp\stm32\stm32f103-td-demo文件夹中,只能使用MDK5. (MDK4\IAR我没有适配,这个BSP是我自己做的) 链接:[https://pan.baidu.com/s/1BR069ZcI5ZViGGfd4tP7gQ](https://pan.baidu.com/s/1BR069ZcI5ZViGGfd4tP7gQ) 提取码:76j8
Aeleven
2020-04-13
这家伙很懒,什么也没写!
这种问题,最好是调试时候看一下寄存器状态。或者直接用hal自带的i2c库函数。还是挺简单的。
xquery
2020-04-13
这家伙很懒,什么也没写!
>这种问题,最好是调试时候看一下寄存器状态。或者直接用hal自带的i2c库函数。还是挺简单的。 ... --- 我用的是软件模拟I2C时序,并没有用到硬件I2C外设。寄存器是看哪方面的寄存器?
唯爱肉丸
2020-04-13
这家伙很懒,什么也没写!
思考方向,可能不仅仅只是这些宏定义,前面四个IIC总线仍存在其他的定义或者操作,可以全局搜索一下相关变量使用状态
pkokoc
2020-04-14
这家伙很懒,什么也没写!
模拟I2C,其实就是使用的GPIO,我觉得可以任意指定。仅使用I2C8时检查一下对应的GPIO管脚定义,相应的时钟初始化
whj467467222
认证专家
2020-04-14
开源,分享,交流,共同进步
贴下你的kconfig
xquery
2020-04-14
这家伙很懒,什么也没写!
>贴下你的kconfig --- menu "Hardware Drivers Config" config SOC_STM32F103RC bool select SOC_SERIES_STM32F1 default y menu "Onboard Peripheral Drivers" config BSP_USING_USB_TO_USART bool "Enable USB TO USART (uart1)" select BSP_USING_UART select BSP_USING_UART1 default y endmenu menu "On-chip Peripheral Drivers" config BSP_USING_GPIO bool "Enable GPIO" select RT_USING_PIN default y menuconfig BSP_USING_UART bool "Enable UART" default y select RT_USING_SERIAL if BSP_USING_UART config BSP_USING_UART1 bool "Enable UART1" default y config BSP_UART1_RX_USING_DMA bool "Enable UART1 RX DMA" depends on BSP_USING_UART1 && RT_SERIAL_USING_DMA default n endif menuconfig BSP_USING_SPI bool "Enable SPI BUS" default n select RT_USING_SPI if BSP_USING_SPI config BSP_USING_SPI1 bool "Enable SPI1 BUS" default n config BSP_SPI1_TX_USING_DMA bool "Enable SPI1 TX DMA" depends on BSP_USING_SPI1 default n config BSP_SPI1_RX_USING_DMA bool "Enable SPI1 RX DMA" depends on BSP_USING_SPI1 select BSP_SPI1_TX_USING_DMA default n endif menuconfig BSP_USING_I2C1 bool "Enable I2C1 BUS (software simulation)" default n select RT_USING_I2C select RT_USING_I2C_BITOPS select RT_USING_PIN if BSP_USING_I2C1 config BSP_I2C1_SCL_PIN int "i2c1 scl pin number" range 1 216 default 22 config BSP_I2C1_SDA_PIN int "I2C1 sda pin number" range 1 216 default 23 endif menuconfig BSP_USING_I2C2 bool "Enable I2C2 BUS (software simulation)" default n select RT_USING_I2C select RT_USING_I2C_BITOPS select RT_USING_PIN if BSP_USING_I2C2 config BSP_I2C2_SCL_PIN int "i2c2 scl pin number" range 1 216 default 36 config BSP_I2C2_SDA_PIN int "I2C2 sda pin number" range 1 216 default 37 endif menuconfig BSP_USING_I2C3 bool "Enable I2C3 BUS (software simulation)" default n select RT_USING_I2C select RT_USING_I2C_BITOPS select RT_USING_PIN if BSP_USING_I2C3 config BSP_I2C3_SCL_PIN int "i2c3 scl pin number" range 1 216 default 16 config BSP_I2C3_SDA_PIN int "I2C3 sda pin number" range 1 216 default 17 endif menuconfig BSP_USING_I2C4 bool "Enable I2C4 BUS (software simulation)" default n select RT_USING_I2C select RT_USING_I2C_BITOPS select RT_USING_PIN if BSP_USING_I2C4 config BSP_I2C4_SCL_PIN int "i2c4 scl pin number" range 1 216 default 28 config BSP_I2C4_SDA_PIN int "I2C4 sda pin number" range 1 216 default 29 endif menuconfig BSP_USING_I2C5 bool "Enable I2C5 BUS (software simulation)" default n select RT_USING_I2C select RT_USING_I2C_BITOPS select RT_USING_PIN if BSP_USING_I2C5 config BSP_I2C5_SCL_PIN int "i2c5 scl pin number" range 1 216 default 38 config BSP_I2C5_SDA_PIN int "I2C5 sda pin number" range 1 216 default 39 endif menuconfig BSP_USING_I2C6 bool "Enable I2C6 BUS (software simulation)" default n select RT_USING_I2C select RT_USING_I2C_BITOPS select RT_USING_PIN if BSP_USING_I2C6 config BSP_I2C6_SCL_PIN int "i2c6 scl pin number" range 1 216 default 30 config BSP_I2C6_SDA_PIN int "I2C6 sda pin number" range 1 216 default 31 endif menuconfig BSP_USING_I2C7 bool "Enable I2C7 BUS (software simulation)" default n select RT_USING_I2C select RT_USING_I2C_BITOPS select RT_USING_PIN if BSP_USING_I2C7 config BSP_I2C7_SCL_PIN int "i2c7 scl pin number" range -1 216 default 0 config BSP_I2C7_SDA_PIN int "I2C7 sda pin number" range 1 216 default 1 endif menuconfig BSP_USING_I2C8 bool "Enable I2C8 BUS (software simulation)" default n select RT_USING_I2C select RT_USING_I2C_BITOPS select RT_USING_PIN if BSP_USING_I2C8 config BSP_I2C8_SCL_PIN int "i2c8 scl pin number" range 1 216 default 24 config BSP_I2C8_SDA_PIN int "I2C8 sda pin number" range 1 216 default 25 endif endmenu menu "Board extended module Drivers" endmenu endmenu
xquery
2020-04-14
这家伙很懒,什么也没写!
>贴下你的kconfig --- I2C7我用的是PA0 和PA1 对应的是0 和1,但是在menuconfig里面,数值0根本配置不进去,所以,我将范围设置为-1 到216 config BSP_I2C7_SCL_PIN int "i2c7 scl pin number" range -1 216
xquery
2020-04-14
这家伙很懒,什么也没写!
>贴下你的kconfig --- 我这边发现一个问题。 [attach]15007[/attach][attach]15008[/attach] 请问应该从那方面入手??
撰写答案
登录
注册新账号
关注者
0
被浏览
1.3k
关于作者
xquery
这家伙很懒,什么也没写!
提问
9
回答
19
被采纳
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
UART
ota在线升级
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
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
7
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
3
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部