当前位置:网站首页>nano的CAN通信
nano的CAN通信
2022-07-05 17:50:00 【罗小黑战记好看】
我买的是微雪的树莓派用的SPI转CAN。现在用在jetson nano上。我看了一下俩模块的芯片用的都是一样的,引脚也都对得上,所以我就打算拿这个模块给nano做can通信。
具备CAN功能,使用SPI接口CAN控制器MCP2515,搭配收发器SN65HVD230。 Microchip 的 MCP2515是一款CAN协议控制器,完全支持 CAN V2.0B 技术规范。该器件能发送和接收标准和扩展数据帧以及远程帧。 MCP2515自带的两个验收屏蔽寄存器和六个验收滤波寄存器可以过滤掉不想要的报文。 CAN 控制器的输出引脚 Tx 接到 SN65HVD230 的数据
输入端 D,可将此 CAN 节点发送的数据传送到 CAN 网络中;而 CAN 控制器的接收引脚 Rx 和 SN65HVD230 的数据输出端R 相连,用于接收数据。
我购买的针对树莓派用的can扩展板
总之开始安装
专门为了nano做的can通信转接板
minicom可以通过串口控制外部的硬件设备.适于在linux通过超级终端对嵌入式设备行管理.同样也可以使用minicom对外置Modem进行控制.
linux超级终端minicom的使用方法
minicom 是一款串口终端调试工具
使用/etc/modules-load.d/来配置系统启动时加载哪些模块
Linux模块加载流程及如何让系统开机自动加载模块
按照网页教程步骤,可以看到我们的nano的spi1引脚和我的can模块上的spi引脚对应
【艹 设置完重启失败,现在显示屏一直黑屏,只能重新烧录镜像。重新烧录重新操作之后教程没问题了,但我这边模块引脚和波特率对不上】
安装好之后有这么几个问题
- 我买的是微雪的树莓派的SPI转can,那个模块把中断输出引脚设置在了nano的20号引脚的位置,我应该把模块引脚设置改成26号引脚。不过看nano的SPI转can的模块也是乱设置中断引脚的位置。可能这个改不改无所谓。
- 波特率对不上
- 解压来的代码文件只可读
# 商家写的nano的cantest.py 测试例程将会在接收到信息时发送1-8
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import MCP2515
import time
print("--------------------------------------------------------")
# try:
# This setup is referred to CAN SPI click mounted on flip n click device slot A
can = MCP2515.MCP2515()
print("init...")
can.Init()
print("send data...")
data = [1, 2, 3, 4, 5, 6, 7, 8]
can.Send(data, len(data))
readbuf = []
# while(1):
while(1):
readbuf = can.Receive()
print(readbuf)
time.sleep(0.5)
print("--------------------------------------------------------")
# except Exception as e:
# print(e)
关于文件权限的问题,我在鸟哥那边学过
sudo chmod 777 -R 文件夹名/
这句就把所有权限都开放了
0(0+0+0)-没有权限。
1(0+0+1)-仅执行权限。
2(0+2+0)-仅写入权限。
3(0+2+1)-写入和执行权限。
4(4+0+0)-只读权限。
5(4+0+1)-读取和执行权限。
6(4+2+0)-读写权限。
7(4+2+1)-读取、写入和执行权限。
通常我们以 Vim 编辑 Shell 文件批处理文件后,文件权限通常是 rw-rw-r–(644),那么,如果要将该文件变成可执行文件,并且不让其他人修改此文件,则只需将此文件的权限该为 rwxr-xr-x(755)即可。
chmod 755 设置用户的权限为:
1.文件所有者可读可写可执行
2.与文件所有者同属一个用户组的其他用户可读可执行
3.其它用户组可读可执行
can的波特率
MCP2515波特率配置
因为我这个模块是12M晶振,而程序里是默认8M晶振,所以要按照手册重新计算通信阶段的各个占比,参考上面那个博客就可以了。
计算过程比较复杂,还是需要一点经验的。说实话,要是有那功夫去理解我上面的计算过程,还不如直接看博客自己推导。
需要了解的还有500Kbps是对应的2us的Tbit。由1/2us得到。同理可知250Kbps是需要4us,125Kbps为8us
【当然了,我没挨个去测试】
改好这两处就能通信了【要先连好硬件哈】
所以引脚的事确实没关系,我现在用的是29号引脚作为中断输出
琢磨信息发送
商家设置成这样 只做了一个send函数。想发扩展帧估计只能自己写。
附图
nano的对应的引脚接口
这个是啥也不设置的时候默认就有的引脚功能
nano的另一个更详细的表,是可以设置开启的对应引脚。
这个是nano的设置界面
微雪的nano专用的SPI转CAN模块
微雪的树莓派专用的SPI转CAN模块
扩展阅读
英伟达Jeston nano<3>使用Python实现三种方式串口通信
Jetson Nano 配置40引脚扩展接头
linux 编辑文件时提示swp文件已经存在
边栏推荐
- Zabbix
- 证券网上开户安全吗?证券融资利率一般是多少?
- mybash
- 小白入门NAS—快速搭建私有云教程系列(一)[通俗易懂]
- Oracle recovery tools -- Oracle database recovery tool
- Is it safe to open an account online? What is the general interest rate of securities financing?
- 提高应用程序性能的7个DevOps实践
- Cmake tutorial Step3 (requirements for adding libraries)
- [TestLink] testlink1.9.18 solutions to common problems
- Count the running time of PHP program and set the maximum running time of PHP
猜你喜欢
随机推荐
Server configuration jupyter environment
Knowledge points of MySQL (7)
Career advancement Guide: recommended books for people in big factories
Cmake tutorial Step3 (requirements for adding libraries)
Troubleshooting - about clip not found Visual Studio
Use QT designer interface class to create two interfaces, and switch from interface 1 to interface 2 by pressing the key
leetcode每日一题:字符串中的第一个唯一字符
Configure pytorch environment in Anaconda - win10 system (small white packet meeting)
Thesis reading_ Chinese NLP_ LTP
ITK Example
Seven Devops practices to improve application performance
Sentinel flow guard
ISPRS2020/云检测:Transferring deep learning models for cloud detection between Landsat-8 and Proba-V
Delete some elements in the array
Teamcenter 消息注册前操作或後操作
What are the changes in the 2022 PMP Exam?
使用QT设计师界面类创建2个界面,通过按键从界面1切换到界面2
Sophon AutoCV:助力AI工业化生产,实现视觉智能感知
求解为啥all(())是True, 而any(())是FALSE?
Count the running time of PHP program and set the maximum running time of PHP