自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (15)
  • 收藏
  • 关注

原创 Linux设备驱动开发(5.4.58)-3-NEWCHR

本文目标本文在上一节的基础上,采用可以指定主设备号,次设备号,手动申请dev_t和自动申请dev_t的API,封装一个全局的对象结构体并用private_data在方法间传递,减少全局变量使用,寄存器操作改用readl和writel,引入cdev、class、device对象。驱动里面的全局结构体是对象私有数据,fops是对象内部的操作函数,可以通过系统调用对外public。cdev、class、device应该是驱动对象的各种父类,用来抽象各种子系统的数据和行为,以便实现统一框架。以上是我个人理解

2020-08-23 00:53:18 280

原创 Linux设备驱动开发(5.4.58)-2-LED-CTRL

官方的io配置文档pinout.xyz关于r3b的物理地址官方说明重点是:If there is no kernel driver available, and a program needs to access a peripheral address directly with mmap, it needs to know where in the virtual memory map the peripheral bus segment has been placed. This varies

2020-08-22 00:51:01 342

原创 Linux设备驱动开发(5.4.58)-1-HELLO-WORLD

重要的点1、module_init和module_exit是宏,他的参数,即入口和出口函数,原型分别是:static int __init ldd1_init(void);static void __exit ldd1_exit(void);2、构造函数,要带主设备号,名字,对象方法。析构函数,要带主设备号,名字。ret = register_chrdev(LDD1_MAJOR,LDD1_NAME,&ldd1_fops);unregister_chrdev(LDD1_MAJOR,L

2020-08-21 03:09:45 253

原创 基于新版本Linux内核的树莓派3B+驱动开发环境搭建

搭建树莓派内核交叉编译环境参考文章官方仓库https://github.com/raspberrypi下载工具链https://github.com/raspberrypi/tools.git用gitee导入仓库(github慢,梯子麻烦),然后clone:git clone https://github.com/raspberrypi/tools ~/tools下载过程中准备环境sudo apt-get updatesudo apt install git bc bison fle

2020-08-20 14:03:58 809

原创 层次状态机编程三:状态机设计模式

1、钩子模式:比如报警器的布防、撤防、报警、在家布防状态,在处理撤防消息的时候,都是跳转到撤防状态,那把这个统一的行为,放到上一级状态实现。当然,因为在报警状态下,需要停止声光报警,所以报警状态可以重载一下这个消息的处理。2、提示器模式:比如wifi模块的数据查询和数据解析,都需要用到轮询机制。那么可以添加一个消息DataReady,这样把数据查询和数据解析解耦了。注意,为了提高性能...

2019-04-02 16:11:05 1890

原创 层次状态机编程二:设计QM状态机的基本约定

1、消息在头文件中定义为如下格式:enum GameSignals { /* signals used in the game /TIME_TICK_SIG = Q_USER_SIG, / published from tick ISR /PLAYER_TRIGGER_SIG, / posted by Player (ISR) to trigger the Missile /TAK...

2019-04-02 15:35:10 813

原创 层次状态机编程一:如何创建QM状态机

1、创建AOs2、创建AO内部状态机3、创建AO成员对象4、创建AO函数5、实例化对象6、AO构造函数7、对象c文件中,声明对象,实例化对象,定义构造函数和对象,例如:$declare(AOs::Missile)Missile AO_Missile;$define(AOs::Missile_ctor)$define(AOs::Missile)8、头文件中extern c文件中...

2019-04-02 09:43:52 1078

原创 实验3:CubeMx+Proteus+STM32 IO口模拟SPI协议的四种模式

目标:实现spi的Master端。参考资料:http://bbs.elecfans.com/jishu_441914_1_1.html这篇文章讲的非常直观易懂,看完就明白了。 1、首先配置口线,串口用来输入和打印,四个io口用来模拟spi,原本准备在一个单片机上同时模拟主从,但貌似不太可行,这种模拟的方式都是阻塞的。 2、proteus连接口线,放spi调试器和...

2019-01-15 16:30:07 5808 4

原创 实验2:CubeMx+protues+AD单通道采样

目标:实现采样读取AD口的电压。    添加全局变量 /* USER CODE BEGIN 1 */ uint16_t ADC1_Value; /* USER CODE END 1 */在收到串口指令的时候,进行采样,并在串口打印:void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){...

2019-01-09 22:17:20 1423 2

原创 实验1:STM32CubeMx+Protues+VSPD仿真实现调试串口

目标:通过CubeMx实现串口收发配置,用Protues运行仿真程序,串口输入a、b、c、d等指令,进行串口调试。CubeMx配置:         (1)导出源代码,并在main.c中添加如下定义,用来接收串口数据:/* USER CODE BEGIN PV */uint8_t aRxBuffer; //接收中断缓冲...

2019-01-08 21:52:11 4190 2

脉搏血氧仪(keil5).rar

//复数的模,模值*N/2 对应该频率下信号的幅度,模值/N直流信号幅度 s1[i].real=sqrtf(s1[i].real*s1[i].real+s1[i].imag*s1[i].imag); s2[i].real=sqrtf(s2[i].real*s2[i].real+s2[i].imag*s2[i].imag); //printf("%d\n",s1[i].real); } s1_max_index = find_max_num_index(s1, 60); //最大幅度值为第几个 s2_max_index = find_max_num_index(s2, 60); //printf("%d\n",s1_max_index); //printf("%d\n",s2_max_index); //Heart_Rate = 74; if(s1_max_index == s2_max_index) { //Heart_Rate = 75; Heart_Rate = 60*100*((s1_max_index+s2_max_index )/2)/FFT_N; //printf("\r\n心率为: %d\r\n",Heart_Rate);

2020-04-09

WRG1_V1.01_cn_wifi_datasheet.pdf

WRG1_V1.01_cn_wifi_datasheet.pdf

2020-03-26

BF5142A-S产品替换使用通知单0320.pdf

BF5142A-S产品替换使用通知单0320.pdf

2020-03-26

AC6921A蓝牙方案标准原理图V1.0.pdf

AC6921A蓝牙方案标准原理图V1.0.pdf 杰里现货主控,可做蓝牙音箱, 也可当通用主控使用。

2020-03-26

AC6936D Datasheet V1.1(3)(1).pdf

AC6936D Datasheet V1.1(3)(1).pdf

2020-03-26

AC6936D TWS耳机标准原理图V1.2(3).pdf

AC6936D TWS耳机标准原理图V1.2(3).pdf 要sdk可以联系我

2020-03-26

BF5836A按压式指纹传感器说明书V1.0.0_20190620.pdf

BF5836A按压式指纹传感器说明书V1.0.0_20190620.pdf

2020-03-26

BF5833AM48+BF5142A挂锁箱包锁应用原理图_20190808.pdf

BF5833AM48+BF5142A挂锁箱包锁应用原理图_20190808.pdf

2020-03-26

(新版)BF5833AM48规格书_20190802.pdf

比亚迪指纹算法芯片,BF5833AM48规格书

2020-03-26

BH67F2742高精度24位ADC,合泰额温枪,耳温枪方案代码

void fun_Vsen_Calculate(void) void fun_Tobj_Calculate(void) void fun_get_Vobj_25(S32 lu16v_vobj_25) void fun_CORRECTION_Calculate(U16 lu16v_table_guide1,U16 lu16v_table_guide2) void fun_TCF_Calculate() void fun_Temp_SurfaceToBody() ‘

2020-03-26

实验3:CubeMx+Proteus+STM32 IO口模拟SPI协议的四种模式

实验3:CubeMx+Proteus+STM32 IO口模拟SPI协议的四种模式,用软件模拟,proteus仿真,效果很清晰。

2019-01-15

CubeMx+STM32+protues+AD单通道采样

CubeMx+protues+STM32+AD单通道采样,通过调节可调电阻,加上串口指令,实时读取模拟口的电压值。

2019-01-09

STM32CubeMx+Protues+VSPD仿真实现调试串口

STM32CubeMx+Protues+VSPD仿真实现调试串口,用protues仿真stm32单片机,并通过vspd模拟串口,用串口调试工具在线调试单片机内部逻辑。

2019-01-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除