Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
qq_逸
这家伙很懒,什么也没写!
注册于 11年前
回答
7
文章
0
关注者
0
关注TA
向TA提问
发私信
TA的回答
问
TCPserver调试data abort
发布于11年前
自己结贴吧,属于个人编程问题,驱动程序中把RO寄存器当做RW寄存器用了……悲催……⊙﹏⊙b汗
问
[RealTouch例程]TCP/IP网络组件Lwip之 TCP Server
发布于11年前
这个TCP Server中的IP,GW,子网掩码等是怎么设置的呀,在哪设置的呀?网络接口netif是怎么初始化的呀? 这些怎么都木有看到呀啊……
问
LWIP初始化问题
发布于11年前
>>>双网口例程 & 双网口培训视频 >> >>--- >> >> >> >>这些东东哪里有呢大侠?? > >--- > > >置顶贴呀,都进行几个月了呢。 >每期在微博也有公告呢。 --- 没找到什么视频什么的呀,给个链接吧大侠,太感谢啦~~
问
LWIP初始化问题
发布于11年前
>双网口例程 & 双网口培训视频 --- 这些东东哪里有呢大侠??
问
[请教]RTT组件之I2C问题
发布于11年前
>ops由驱动实现,具体与硬件有关。 I2C这边仅是调用一下,当然可以是const的。 我在做初始化时有这样一个操作: ```c lpc_i2c->ops->master_xfer = rt_lpc_i2c_xfer; ``` 其中的`rt_lpc_i2c_xfer()`是自己实现的函数,然后编译时候这儿就报错 `expression must have a modifiable lvalue` 我的理解是前面ops定义为const了,所以就不允许给它赋值了。
问
[请教]RTT组件之I2C问题
发布于11年前
>ops由驱动实现,具体与硬件有关。 I2C这边仅是调用一下,当然可以是const的。 也就是说ops中定义的 ```c struct rt_i2c_bus_device_ops { rt_size_t (*master_xfer)(struct rt_i2c_bus_device *bus, struct rt_i2c_msg msgs[], rt_uint32_t num); rt_size_t (*slave_xfer)(struct rt_i2c_bus_device *bus, struct rt_i2c_msg msgs[], rt_uint32_t num); rt_err_t (*i2c_bus_control)(struct rt_i2c_bus_device *bus, rt_uint32_t, rt_uint32_t); }; ``` 这些方法需要实现吧,那么ops中的mster_xfer就得指向某个自己实现的函数吧,但是定义为const,就不允许给这个函数指针赋值了啊,如果让master_xfer指向某个函数,编译时报错`expression must have a modifiable lvalue`. 能帮忙解决一下吗?谢谢啦~~
问
刚开始用RTT,请教I2C驱动的用法
发布于11年前
>I2C发送N个字节不接收: > > >``` >struct rt_i2c_bus_device * i2c_bus; > struct rt_i2c_msg msg; > uint8_t send_buf[n]; > i2c_bus = (struct rt_i2c_bus_device *)rt_device_find(i2c_bus_name);//这里写你的I2C设备名称 > RT_ASSERT(i2c_bus != RT_NULL); > > //这里填充你要发送的数据到buf > send_buf[0] =....; > ......... > > msg.addr = I2C_ADDR; //这里写你的器件的I2C地址 > msg.flags = RT_I2C_WR; //标志为写数据 > msg.len = n; //这里写你发送是数据长度 > msg.buf = send_buf; //发送的数据指针 > rt_i2c_transfer(i2c_bus, &msg, 1); //发送数据,后面的1表示你的rt_i2c_msg为一个,可为多个 > >``` > > >I2C发送N个数据同时接收N+1个数据: > > >``` >struct rt_i2c_bus_device * i2c_bus; > struct rt_i2c_msg msg[2]; > uint8_t send_buf[n]; > uint8_t recv_buf[n+1]; > i2c_bus = (struct rt_i2c_bus_device *)rt_device_find(i2c_bus_name); > RT_ASSERT(i2c_bus != RT_NULL); > > //填充你要发送的数据到buf > send_buf[0] = ...; > ........ > msg[0].addr = I2C_ADDR; > msg[0].flags = RT_I2C_WR; > msg[0].len = n; > msg[0].buf = send_buf; > > msg[1].addr = I2C_ADDR; > msg[1].flags = RT_I2C_RD; > msg[1].len = n+1; > msg[1].buf = recv_buf; >rt_i2c_transfer(i2c_bus, msg, 2); >``` --- 请教一下,如果在应用程序中这么用的话,device.c中提供的read,write等那些函数岂不是没用了吗?
TA的主页
TA的回答
TA的提问
TA的文章
TA的粉丝
TA的关注
会员统计
注册于 11年前
个人主页被 503 人浏览
回到
顶部
发布
问题
投诉
建议
问 TCPserver调试data abort