开篇module_init是linux内核提供的一个宏,可以用来在编写内核模块时注册一个初始化函数,当模块被加载的时候,内核负责执行这个初始化函数.在编写设备驱动程序时,使用这个宏看起来理所应当,没什么特别的,但毕竟我还是一个有点追求的程序员嘛:P,这篇文章是我学习module_init相关源码的一个记录,主要就回答了下面的3个问题,篇幅略长,做好准备.Q1:内核模块是什么?Q2:内核模块是怎么被加载的?Q3:内核怎么获取到module_init注册的初始化函数?注:以下回答是个人学习总结,仅供参考.A1:编译好内核模块的代码,会得到一个".ko"文件,这个就是内核模块了.实际上,".ko"就
1.软件准备(1)编程平台:Keil5(2)CubeMX2.硬件准备(1)某宝买的RGB模块(4个灯珠级联)(2)F1的板子,本例使用经典F103C8T6(3)ST-link 下载器(4)杜邦线若干3.模块资料(1)模块简介:没什么比手册讲得更加清楚了,模块中文数据手册:ws2812b中文资料_数据手册_参数(2)驱动原理: 以上这是数据手册中提到的,WS2812驱动用的是单线归零码的通讯方式。不同占空比的方波代表1码或者0码,这里不同的占空比就是 0码或1码高电平时间/方波周期时间。对于本次例程,我们就是改变PWM的占空比实现0码或1码的传输。(3)PWM+DMA原理:
一、LOS_XX是什么 LOS_XX是LiteOS_M或LiteOS_A内核提供的接口。例如:LOS_TaskCreate、LOS_TaskCreate、LOS_SemCreate等。因为LiteOS_M和LiteOS_A是针对不同的内核,所以LOS_XX在实现上也是有所不同的。也就是说LOS_XX跟具体的内核类型是有关系的。 这里只说一下的源文件位置,有兴趣可以自行研究。 1.0版本,LiteOS_Mcode-1.0\kernel\liteos_m\kernel\base 1.0.1版本,LiteOS_Mcode-1.0.1\L01\kernel\liteo
7月31日消息,本月早些时候,微软为Edge更新了鼠标手势功能,你可以按住右键并向特定方向移动来执行各种任务,从而加快日常操作的速度,例如打开选项卡、重新加载页面、启动InPrivate隐私窗口、在网页之间切换等。目前,微软Edge浏览器已经支持 16种操作,非常灵活,但该功能仍缺少一个关键选项:在特定网站上禁用鼠标手势的功能。@Leopeva64发现,微软MicrosoftEdge最新的Canary版本已经允许用户在特定站点上关闭鼠标手势,但也只有Canary版本。IT之家提醒,如果你使用的是最新版的MicrosoftEdgeCanary 浏览器,可通过执行以下操作来关闭特定网站上的鼠标手势
我们在github上寻找开源项目的源码,clone下来研究的时候,由于项目需要多个开源项目的支持,所有还需要二次clone子工程的源码支持,比如最近在使用:grpc在clone子模块的时候会出现失败或无法访问的情况,其原因众所周知无非就是有些东西需要科学上网找到项目的.gitmodules文件,这个文件就是子工程的clonepath以及clone的位置:我们只需要找到url对应的可访问地址,这里给出两个结局的方案,也是我常用的方案:使用github镜像地址:https://github.com.cnpmjs.org就是在gitee上找别人fork好的对应项目的地址这里我们使用第一种,将url的
本篇文章包含的内容一、输入捕获1.1输入捕获简介1.2输入捕获通道的工作原理1.3输入捕获的主从触发模式1.4输入捕获和PWMI结构二、频率的测量方法2.1测频法2.2测周法2.3测频法和测周法的误差分析三、输入捕获测量PWM波形的频率和占空比3.1输入捕获相关库函数3.2输入捕获IC测量频率3.3PWMI模式同时测量频率和占空比3.4测周法测量频率性能评估 本次课程采用单片机型号为STM32F103C8T6。 课程链接:江科大自化协STM32入门教程 往期笔记链接: STM32学习笔记(一)丨建立工程丨GPIO通用输入输出 STM32学习笔记(二)丨STM32程序调试丨OLED
更新更高版本的SpringBoot依赖解决了来源来自GitHub上面的GitHub-echisan/springboot-jwt-demo:这是一个使用了springboot+springSecurity+jwt实现的基于token的权限管理的一个demo项目,本地启动后报错org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'entityManagerFactory'definedinclasspathresource[org/springframework/boot/autocon
//通过PWM蜂鸣器实验-A12连接, A12接长脚,蜂鸣器短脚接GND编译报错参考:https://blog.csdn.net/txwtech/article/details/119853772//通过PWM蜂鸣器实验-A12连接,A12接长脚,蜂鸣器短脚接GND//,bytxwtech#include#include"ohos_init.h"#include"cmsis_os2.h"#include"iot_gpio.h"#include"hi_io.h"#include"iot_pwm.h"#include"hi_pwm.h"#include"hi_time.h"intcount1=0;
前言本人了解到电动汽车中OBC和DCDC普遍使用TI(德州仪器)DSP28335和28035系列芯片做开关电源控制,电源领域的工程师 需要对于芯片的配置和配套软件CodeComposerStudio(CCS)有一定的熟悉程度,具体涉及到C语言的编写和代码管理。在如今追求时效的大环境下,手打代码已不适应这样的工况(特别是版本迭代时)。现如今可以使用MATLAB中的simulink模块对DSPTI28x系列芯片做详细的配置,即使使用者在无代码编写经验仍能直接导出工程和代码本文可能适用于 使用Simulink简化管理代码应用层,配置底层的DSP工程师 入门电源行业的应届大学生
前言本人了解到电动汽车中OBC和DCDC普遍使用TI(德州仪器)DSP28335和28035系列芯片做开关电源控制,电源领域的工程师 需要对于芯片的配置和配套软件CodeComposerStudio(CCS)有一定的熟悉程度,具体涉及到C语言的编写和代码管理。在如今追求时效的大环境下,手打代码已不适应这样的工况(特别是版本迭代时)。现如今可以使用MATLAB中的simulink模块对DSPTI28x系列芯片做详细的配置,即使使用者在无代码编写经验仍能直接导出工程和代码本文可能适用于 使用Simulink简化管理代码应用层,配置底层的DSP工程师 入门电源行业的应届大学生