设置CAN波特率失败

anychenp 2013-12-12 09:39:19
写了个CAN的驱动程序,作为模块加载了,网络设备中已有can0设备。
用ip -details link show can0可以看到信息:
9: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN qlen 10
link/can
can state STOPPED (berr-counter tx 0 rx 0) restart-ms 0
bitrate 0 sample-point 0.000
tq 0 prop-seg 0 phase-seg1 0 phase-seg2 0 sjw 0
sun7i_can: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..64 brp-inc 1
clock 0

想要用ip link set can0 type can bitrate 1000000设置波特率,报错RTNETLINK answers: Math argument out of domain of func是什么意思,怎么解决
...全文
489 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
anychenp 2014-04-07
  • 打赏
  • 举报
回复
引用 2 楼 wkl277154604 的回复:
那怎么给can clock freq赋值呢?
你的CAN通讯率是多少就赋值多少,我是用socket CAN写的驱动,给结构体成员赋值就行
wkl277154604 2014-03-04
  • 打赏
  • 举报
回复
那怎么给can clock freq赋值呢?
anychenp 2013-12-12
  • 打赏
  • 举报
回复
还是自问自答,用ip -details -statistics link show can0查看详细信息,看到clock为0,因为驱动程序中忘记给can.clock.freq赋值,所以无法设置波特率计算位时间。

21,600

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧