驱动测试时出现can't open 的一种情况

2023-05-16

提前声明:本程序是使用class_device_create函数导致的错误,如果不是使用该函数不要对号入座,谢谢。

在今天编写完驱动程序,然后使用测试程序测试时,却出现了can't open的情况,我的程序如下:

        fd = open("/dev/buttonsdrv",O_RDWR);
if(fd < 0){
printf("can't open \n");

}

    开始我以为是程序出现了错误,但仔细查了一般,并没有。

然后我想到了可能是引入class_device_create和class_create函数,引起的设备名冲突,然后我将open函数中的名字和class_device_create,class_create函数的驱动名字改为一样果然这样就可以很好的运行了。代码如下:

         buttonsdrv_class = class_create(THIS_MODULE,"buttonsdrv");
buttonsdrv_class_dev = class_device_create(buttonsdrv_class,NULL,MKDEV(auto_major,0),NULL,"buttonsdrv");
    出于好奇,我又改将class_create函数中的类名改变,结果不影响程序运行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

驱动测试时出现can't open 的一种情况 的相关文章

  • socketcan_bridge 包 设置多路CAN口 小记

    参考链接 xff1a socketcan bridge ROS Wiki 基于ROS 43 CANopen的SocketCAN驱动在Ubuntu下的应用说明 SzZhangfq的博客 CSDN博客 ros socketcan socketc
  • STM8 CAN总线的IdMask模式的讲解

    http www stmcu org article id 328212 STM8 CAN总线的IdMask模式的讲解 发布时间 xff1a 2016 08 27 来源 xff1a ST社区 标签 xff1a STM8 CAN总线 IdMa
  • Linux下CAN总线速率设置,socketCAN。

    背景 xff1a 飞思卡尔Freescale的ARM9处理器i MX25系列 socketCAN对于在Linux下操作CAN总线非常的快捷方便 xff0c 其配置方法和在Linux下对网卡的配置相似 xff0c 方法如下 xff1a 1 i
  • Nvidia Jetson Xavier 上使用CAN

    为了利于回忆 xff0c 将自己查询到的资料在这里记录一下 资料一 xff1a 20条消息 NVIDIA Xavier CAN weifengdq的专栏 CSDN博客 资料二 xff1a 英文版Enabling CAN on Nvidia
  • CAN报文格式简析

    Date xff1a 2022 5 11 Author xff1a MJQ Meta xff1a CAN CAN基础篇 CAN报文格式简析 1 Motornala和Intel格式 建议直接看图 xff0c 小白也能秒懂 xff01 注 xf
  • IMX6ULL与STM32F103的CAN通信实现

    IMX6ULL与STM32F103的CAN通信实现 硬件连接驱动层实现IMX6ULLSTM32F103ZET6 应用层实现IMX6ULLSTM32F103ZET6 结果 在上一篇博文中 xff0c 我们利用USBCAN设备及其上位机软件 x
  • CAN总线详解(转)

    1 简介 CAN是控制器局域网络 Controller Area Network CAN 的简称 xff0c 是一种能够实现分布式实时控制的串行通信网络 优点 xff1a 传输速度最高到1Mbps xff0c 通信距离最远到10km xff
  • Linux Socket CAN——驱动开发(转)

    Linux Socket CAN驱动开发 一 CAN总线协议 CAN是Controller Area Network 控制器局域网 的缩写 CAN通信协议在1986年由德国电气商博世公司所开发 xff0c 主要面向汽车的通信系统 现已是IS
  • 使用STM32F103做CAN的收发通信

    下面也是搭建嵌入式系统所必须的一个部分 参考网站 xff1a https www cnblogs com craigtao p 3645148 html https blog csdn net qq 29413829 article det
  • CAN 与 CANFD数据报文格式解读

    ISO 11898 1 2015 协议详细定义了CAN网络报文的格式 xff0c 包含了传统CAN与CANFD帧格式 CAN网络的帧类型共有4种 xff0c 分别为数据帧 远程帧 错误帧 过载帧 本章将主要介绍CAN网络数据帧报文的格式 x
  • STM32F042 CAN使用例子

    代码如下 include mycan h CAN初始化 tsjw 重新同步跳跃时间单元 范围 1 3 CAN SJW 1tq CAN SJW 2tq CAN SJW 3tq CAN SJW 4tq tbs2 时间段2的时间单元 范围 1 8
  • CAN接口芯片MCP2515的波特率和滤波器设置问题

    配置波特率代码 MCP2515ByteWrite CNF1 3 MCP2515ByteWrite CNF2 0x80 PHSEG1 3TQ PRSEG 1TQ MCP2515ByteWrite CNF3 PHSEG2 3TQ 功能 波特率的
  • CAN2.0和J1939协议的关系

    转发自http www cankau cn support help can vs j1939 html 很长时间没搞明白j1939与CAN2 0的关系 这篇文章让我明白了 CAN2 0是一种总线规范 是数据链路层的技术 J1939是SAE
  • open, 读文本文件 防止程序因异常崩溃-python3

    open 读文本文件 防止程序因异常崩溃 版本 v1 0 日期 2019 03 28 作者 Catherine python版本 3 7 def main f None try f open 致橡树 txt r encoding utf 8
  • CAN资料整理(三):CAN的位时间、同步、位定时

    目录 一 位时间 二 同步 1 硬同步 2 重新同步 三 位定时 1 传播段延迟时间的确定 2 位定时参数确定 由于CAN属于异步通讯 没有时钟信号线 连接在同一个总线网络中的各个节点会像串口异步通讯那样 节点间会使用约定好的波特率进行通讯
  • 各种通信接口的简单对比

    对比表 同步方式与异步方式的主要区别在于 是否传输时钟信号 只要是通訊前雙方需要設定相同波特率的 都是異步傳輸方式 异步传输 Asynchronous Transmission 每次异步传输的信息都以一个起始位开头 它通知接收方数据已经到达
  • STM32学习心得三十二:CAN通信基础知识、原理、配置及实验

    记录一下 方便以后翻阅 主要内容 1 CAN通信基础知识 2 STM32 CAN控制器简介 3 相关实验代码解读 参考资料 STM32中文参考手册 V10 第22章 控制器局域网 bxCAN 实验功能 CAN实验需要两个开发板 系统启动后
  • 难懂?这样理解SPI与CAN很简单!

    难懂 这样理解SPI与CAN很简单 什么是串行通讯 为什么仍需使用串行通讯 SPI与CAN SPI 接口特点 CAN现场总线特点 什么是串行通讯 在正式进入主题前 我么先来介绍一下什么叫做 串行通信 串行通信是计算机的一种数据传输通信方式
  • STM32的CAN标识符过滤器超简单理解

    1 STM32中CAN1与CAN2的过滤器组 103系列14个过滤器组 104 107系列28个过滤器组 CAN FilterInitStructure CAN FilterNumber 0 0 13 2 每组过滤器组有两种工作模式 标识符
  • Python-with open() as f的用法

    常见的读写操作 with open r filename txt as f data user pd read csv f 文件的读操作 with open data txt w as f f write hello world 文件的写操

随机推荐

  • 【使用ubuntu时电脑很卡,连切换个页面都要等好一会儿】

    之前用ubuntu我都是看运气的 xff0c 一打开运行内存必定到达92 左右 xff0c 有时候很卡很卡 xff0c 做个作业花了大半天 xff0c 只有偶尔莫名的顺畅 直至昨天 xff0c 我发现了一个地方 xff0c 将它改过来就好多
  • 使用宝塔部署JavaWeb前后端项目到服务器

    1 我使用的是腾讯云的轻量应用服务器 xff0c 在安装系统的时候可以选择使用宝塔Linux面板 2 安装了宝塔面板以后 xff0c 可以在应用管理中看到宝塔面板的登陆地址 在登录之前需要在用户名和密码那一栏登录 xff0c 来获取宝塔的用
  • VMware USB Arbitration Service无法启动的解决方案

    原文地址 xff1a VMware USB Arbitration Service无法启动的解决方案 作者 xff1a 尔心眼坏坏 问题描述 xff1a 常用VMware虚拟机的朋友们有时应该遇到这种情况 xff0c 就是装完VMware
  • VMware安装linux虚拟机(完整版)

    vmware的安装 去官网进行下载虚拟机 虚拟机下载地址 xff1a VMware16下载 vmware workstation pro 16官方版下载 虚拟机 华军软件园 第一步 打开安装包 第二步 选择稍后安装 是最快的方式 第三步 看
  • AWK中BEGIN和END的使用理解

    awk中begin和end的使用 awk使用 语法 awk 39 script 39 filenames awk使用语法中的script又由多个pattern 43 action组成 单个 pattern actions 应用不通的patt
  • 教你彻底搞懂Cocos Creator Tween

    Cocos 使用了Tween来代替原来的Action系统 今天来给大家讲解Tween如何使用 帮助大家掌握Tween的使用 xff0c 并且对Tween有一个更深入的了解 这里有个cocos creator学习交流点击可以直接进入 1 Tw
  • Hexo的常用指令合集

    Hexo xff1a 一个基于Node js的静态网页生成器 xff0c 常将它与Github Page搭配使用 xff0c 创建个人博客网站 hexo有许多主题 xff0c 其实最火爆的是NexT Matery等 xff0c 复制关键词到
  • (Demo3D 学习笔记)案例2:飞板传输货物,并按指定货位上架

    1 模型描述 通过红色飞板 xff0c 将输送机处的货物逐个传送到货架指定货位 xff0c 货位由货位表指定 2 模型布局 3 解决方案 3 1 载荷发生器 首先给载荷发生器创建自定义属性Loc xff0c 类型为表 在载荷发生器的属性窗口
  • (Demo3D 学习笔记)案例1:自创组件,可以一键自动连接场景中的其他相关组件

    1 模型描述 在场景中自创一个组件 xff0c 通过该组件 xff0c 可以一键自动连接场景中的各相关组件 2 模型布局 首先将自定义组件 xff08 绿色 xff09 分别连接输送机 xff08 左 xff09 xff0c 叉车 xff0
  • Ubuntu18.04安装配置使用Intel RealSense D435i深度相机以及在ROS环境下配置

    最近因为学习开发需要 xff0c 要开始接触一些视觉相关的内容 xff0c 拿到了一个Inter 的D435i深度相机 xff0c 记录一下在Ubuntu18环境下配置SDK 包的历程 目录 写在开头最新的SDK 支持ROS2 Wrappe
  • C++标准模板库(STL)迭代器的原理与实现

    引言 迭代器 iterator 是一种抽象的设计理念 xff0c 通过迭代器可以在不了解容器内部原理的情况下遍历容器 除此之外 xff0c STL中迭代器一个最重要的作用就是作为容器 vector list等 与STL算法的粘结剂 xff0
  • Linux工具 xrandr屏幕操作工具

    说明 xff1a xrandr是RandR xff08 调整大小和旋转 xff09 X 窗口系统扩展的官方配置实用程序 它可用于设置屏幕输出的大小 方向 以及 需配置多台显示器的显示扩展等 属于Xorg的命令集中常用命令之一 xff08 关
  • 小熊派 FreeRTOS+SPI+DMA 驱动 TFT-LCD

    一 文章前言 入手了一块小熊派开发板 xff0c 看到他板子上搭载了一块 TFT LCD 编写编写驱动代码来使用 TFT xff0c 该 TFT 通过 ST7789 驱动芯片进行驱动 xff0c 本文通过 CubeMX 软件配置硬件 SPI
  • 【双系统】Win10/Win11 引导 Ubuntu

    文章目录 纲要注意写在最前1 Win 分区2 Ubuntu刻盘3 安装 Ubuntu4 配置引导 纲要 本文主要介绍了如何在已安装 Win10 Win11 前提下安装 Ubuntu 双系统 xff0c 并利用 Win10 Win11 的 M
  • 2.6 常见关系数据库产品

    常见关系数据库产品 1 Oracle 应用广泛 功能强大 xff0c 分布式数据库系统 关系 对象 型数据库 2 MySQL 快捷 可靠 开源 免费 与PHP组成经典的LAMP组合 3 SQLServer 针对不同用户群体的五个特殊的版本
  • 结构体定义寄存器方法(很流行哦)

    ARM寄存器数量之多 xff0c 叹为观止 xff01 幸运的是 xff0c 它都是以模块分布 xff0c 再依托C语言的模块化编程 xff0c 用户就没有必要记忆那么多的寄存器名称了 xff01 拿LPC1114来说 xff0c 单片机内
  • 代码函数调用关系图

    代码函数调用关系 Graphviz 43 CodeViz http www linuxidc com Linux 2015 01 111501 htmCallgraph xff1a 静态分析 C 程序函数调用关系图cflow 43 grap
  • Python元组(tuple),字符串,读取文件。

    目录 tuple xff1a tuple格式 xff1a tuple和列表的区别 xff1a 查询类型小方法 xff1a string 字符串 xff1a 字符串格式 xff1a 三种格式的区别 xff1a 1 单引号 xff0c 双引号换
  • 各种课程教学安排

  • 驱动测试时出现can't open 的一种情况

    提前声明 xff1a 本程序是使用class device create函数导致的错误 xff0c 如果不是使用该函数不要对号入座 xff0c 谢谢 在今天编写完驱动程序 xff0c 然后使用测试程序测试时 xff0c 却出现了can 39