
单片机
锅锅是锅锅
这个作者很懒,什么都没留下…
展开
-
汽车总线LIN总线协议
一、介绍LIN的全称为Local Interconnect Network,是一种汽车上用的总线,实现一根信号线和多台设备通信二、原理1、硬件原理本质上就是串口+LIN驱动芯片当然需要单片机串口支持lin模式,也就是能发出11bit的低电平2、软件上常用速率波特率:最大传输速率为20Kbps。建议的通信速率如下,低速2400bps,中速9600bps,高速19200bps流程上和i2c类似,因为只有一根数据线,收发都是在上面,所以用的应答模式,分为lin主机和lin从机,一个网络里面只有原创 2021-12-11 10:36:48 · 5573 阅读 · 1 评论 -
atk-paj7620手势传感器驱动
ATK-PAJ7620是一款高性能手势识别传感器模块。该模块采用原相科技(Pixart)公司的 PAJ7620U2芯片,芯片内部集成了光学数组式传感器,以使复杂的手势和光标模式输出,自带九种手势识别,支持上、下、左、右、前、后、顺时针旋转、逆时针旋转和挥动的手势动作识别,以及支持物体接近检测等功能代码示例//手势传感器读取函数//参数 手势结果/*#define GES_UP BIT(0) //向上#define GES_DOWM BIT(原创 2021-10-11 22:32:47 · 2334 阅读 · 0 评论 -
重量传感器驱动
协议int CMCU_07R_get(unsigned char *buf, int data_len, unsigned int *G){ int i; unsigned int tmp; for(i = 0; i <= (data_len-10); i++) { if(buf[i] == 0xaa) { tmp = (buf[(i+4)] << 16); tmp += (buf[(i+5)] << 8);原创 2021-10-11 22:24:48 · 150 阅读 · 0 评论 -
北斗ATGM332D定位 gps驱动
ATGM332D接口串口协议经纬度换算代码示例#include <stdio.h>int my_strcmp(char *s1, char *s2, int len){ int i; for(i = 0; i < len; i++) { if(s1[i] != s2[i]) return 0; } return 1;}char *my_strfind(char *buf, char *s, char s_原创 2021-10-11 22:18:22 · 2782 阅读 · 1 评论 -
mlx90614红外测温驱动
mlx9061为i2c接口,只需要将i2c速度设置低一点就行//温度传感器函数//参数 t温度//返回 0//定义硬件接口#include "smbus.h"#define GY906_I2C I2C0#define GY906_SCL GPIO_10#define GY906_SDA GPIO_11int GY906_get(float *t){ union data{ unsigned char t_u8[3]; unsigned short int t_u16; }my原创 2021-10-11 20:35:54 · 897 阅读 · 0 评论 -
TN905红外测温驱动
接口#include "sys.h"#include "usart.h" #include "delay.h" #include "stdio.h" #define TN905_CLK_H() GPIOB->ODR|=1<<13#define TN905_DOUT_H() GPIOB->ODR|=1<<14#define TN905_TEST_H() GPIOB->ODR|=1<<1#define TN905_CLK_L() .原创 2021-10-11 20:31:44 · 474 阅读 · 0 评论 -
TSL1401 CCD传感器驱动
一、ccd介绍二、引脚工作电压3.3v三、原理本质就是一排感光传感器,对应128个灰度值,我们通过数据脚读取出来四、示例程序这里给出stm32f103的程序//初始化函数,配置adc和goiovoid ccd_Init(void){ //adc init adc_Init(0X04);//ADC CH2 //gpio init gpio_out_init(0, 4, 0);//CLK A1 gpio_out_init(0, 5, 0);//SI A1}//采集数据,参数原创 2021-10-10 18:32:43 · 2936 阅读 · 0 评论 -
自己动手实现命令行解析器
一、介绍嵌入式里面经常会自己做命令行,这里分享一个命令解析器代码实现二、代码实现mycmd.c/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 头文件区~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/#include <stdio.h>原创 2021-08-11 18:02:04 · 1098 阅读 · 0 评论 -
c语言实现任务调度器
一、介绍调度器是常用的一种编程框架,也是操作系统的拆分多任务的核心,比如单片机的裸机程序框架,网络协议栈的框架如can网关、485网关等等,使用场合比较多,是做稳定产品比较常用的编程技术二、原理1、超级循环2、时间片与时标3、调度算法介绍1)时间片轮转调度2)强制试调度4、注意事项所有任务的执行时间不能超过时标的时间三、任务调度代码实现这里拿linux来测试schduler.c//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// 头文件原创 2021-08-10 11:48:19 · 3823 阅读 · 1 评论 -
stm32 iap升级
stm32 iap升级待更新原创 2021-07-26 20:11:21 · 368 阅读 · 0 评论