艾能微:学习芯片/单片机新知识
您的位置: 网站首页 > 常见问答 > 单片机程序如何与硬件交互通讯?
单片机程序如何与硬件交互通讯?
发布时间:2021.12.01
信息摘要:
单片机要与硬件交互,单片机程序需要与内核进行通信,并且在此之前,它必须通知内核有关内核的存在。这是通过“init”调用实现的,通过该调用单片机程序在内核中注册并分配。

单片机要与硬件交互,单片机程序需要与内核进行通信,并且在此之前,它必须通知内核有关内核的存在。这是通过“init”调用实现的,通过该调用单片机程序在内核中注册并分配了所需的内存。在系统关闭时,将使用“exit”调用取消注册单片机程序,这还会释放单片机程序占用的所有资源。用于定义“init”“exit”功能的调用是:
module_initinit_function_name;
module_exitexit_function_name;
我们可以编写自己的initexit函数,同时编写分别由上述两个调用设备的单片机程序。***简单的init函数如下:
static int init_function_namevoid
{
printkKERN_ALERT“ Hello”;
return 0;
}
同样,我们也可以编写退出函数。如您所见,为了获取内核日志,我们使用与C函数printf()类似的printk()函数,但需要一个可选的特殊日志级别字符串(此处为KERN_ALERT–日志级别1)来指示严重性类型错误消息。共有八个日志级别,默认值为KERN_WARNING(日志级别4)。
设备单片机程序中***重要的组件之一是文件操作(简称“fops”)结构。此结构指定为其编写单片机程序的设备的功能。它包含指向为设备支持的操作而编写的功能的指针。基本的fops结构可以描述如下:
static struct file_operations fops =
{
.read = my_read;
.write = my_write;
.open = my_open;
.release = my_release;
}
上面的定义是,每当设备必须读取某些内容时,都会调用my_read函数(由开发人员编写)。同样,指向其他功能的指针是针对它们提及的功能的相应名称。

如果要为其编写单片机程序的设备支持中断功能,则单片机程序必须在init函数中注册中断服务程序(ISR),只要在设备中收到中断,该函数就会被调用。这是通过使用需要中断处理程序的内核函数request_irq()来实现的,然后启用中断线以接收中断。另一方面,当单片机程序卸载时,内核函数free_irq()用于释放中断处理程序和中断行。

深圳市艾能微科技有限公司是一家致力于发展国产单片机方案开发的科技公司,在中国区主营电子产品方案开发、单片机技术开发及设计销售等服务,单片机厂家。代理:芯连心。有8位单片机,32位单片机,触摸单片机等。



相关产品

暖宫腰带方案

暖宫腰带方案

暖宫腰带方案功能: 恒温加热技术 微频率振动按摩技术 数显技术 体温测量 电池蓄电
发光头扣方案

发光头扣方案

发光头扣方案功能: 3色变幻 一键控制 四种色光 电池蓄电
圣诞灯球方案

圣诞灯球方案

圣诞灯球方案功能: 音乐律动技术应用 智能变频技术应用 4种色光 7种模式 3种光亮强度
空气净化器方案

空气净化器方案

空气净化器方案功能: 气触媒技术应用 MHCC超净技术应用 驻极静电技术应用 APP链接控制 智能数显
  九齐单片机- NY8B062D  

  九齐单片机- NY8B062D  

主要参数 PROM:2K RAM:128*8 ADC:IO Touch:不带触摸 封装:S8、s14、s16
辉芒微单片机-CM9M132A-R

辉芒微单片机-CM9M132A-R

主要参数 PROM:3K RAM:256 ADC:AD Touch:不带触摸 封装:SOP14
东软载波单片机-   ES7P169CFGTF/TB  

东软载波单片机-   ES7P169CFGTF/TB  

  
九齐单片机- NY8A051F  

九齐单片机- NY8A051F  

主要参数 PROM:1K RAM:48*8 ADC:IO Touch:不带触摸 封装: SOP8  、SOP6  

联系艾能微

  • 电话:0755-27807176
  • QQ:453659626
  • 邮箱:453659626@qq.com
  • 地址:深圳市宝安区西乡前进二路101号创建大厦8A3

公司座机

0755-27807176

咨询微信

我的微信二维码

二维码