驱动开发11-2 编写SPI驱动程序-点亮数码管

驱动程序

cs 复制代码
#include <linux/init.h>
#include <linux/module.h>
#include <linux/spi/spi.h>

int m74hc595_probe(struct spi_device *spi)
{
    printk("%s:%d\n",__FILE__,__LINE__);
    char buf[]={0XF,0X6D};
    spi_write(spi,buf,sizeof(buf));
    return 0;
}
int m74hc595_remove(struct spi_device *spi)
{
    printk("%s:%d\n",__FILE__,__LINE__);
    return 0;
}
//设备树匹配表
struct of_device_id of_table[] = {
    {.compatible="hqyj,m74hc595"},
    {},
};
//定义SPI对象并初始化
struct spi_driver m74hc575 = {
    .probe = m74hc595_probe,
    .remove = m74hc595_remove,
    .driver = {
        .name = "m74hc595",
        .of_match_table = of_table,
    },
};
module_spi_driver(m74hc575);
MODULE_LICENSE("GPL");

效果演示

相关推荐
charlie1145141911 天前
嵌入式C++工程实践第16篇:第四次重构 —— LED模板,从通用GPIO到专用抽象
c语言·开发语言·c++·驱动开发·嵌入式硬件·重构
海边夕阳20061 天前
Vibe Coding与SDD规范驱动:从氛围编程到规范驱动开发
人工智能·驱动开发·经验分享
charlie1145141911 天前
嵌入式Linux驱动开发(4)——内核打印详解
linux·驱动开发·imx6ull
xiaoxiang96091 天前
TDD测试驱动开发:从理论到实战的完整指南(含AI增强工作流)
人工智能·驱动开发·tdd
roman_日积跬步-终至千里2 天前
从混沌到掌控:如何用“复杂度控制”和规格驱动开发(SDD)重建编程动力
驱动开发
北山有鸟2 天前
【学习笔记】MIPI CSI-2 协议全解析:从底层封包到像素解析
linux·驱动开发·笔记·学习·相机
发发就是发2 天前
USB系统架构概述:从一次诡异的枚举失败说起
驱动开发·单片机·嵌入式硬件·算法·fpga开发
发发就是发2 天前
TTY子系统与线路规程:那个让我深夜抓狂的串口“丢包”问题
linux·服务器·驱动开发·单片机·嵌入式硬件
hello-java-maker2 天前
从Vibe到Spec:基于Claude Code的规范驱动开发(SDD)后端实践全解析
驱动开发·claude·sdd
独小乐3 天前
019.ADC转换和子中断|千篇笔记实现嵌入式全栈/裸机篇
linux·c语言·驱动开发·笔记·嵌入式硬件·mcu·arm