- 博客(13)
- 收藏
- 关注
原创 Linux Makefile built-in.a与built-in.o
较新的kernel使用的是 built-in.a,原来built-in.o没了,但我编译独立模块需要它。关于built-in.a的优点,Kernel Makefile原文这样说的:(不关心的直接跳过)意思是这个文件没有文件符号表或索引,更小巧灵活(生成kernel更快?),所以链接器用不了,也就是 ld 链接不了,要用脚本 scripts/link-vmlinux.sh来构建出带有符号的。(我不是用这个)
2022-12-24 18:37:09
2445
原创 ROS学习与rostopic指令
学了一段时间ROS,后面最常用的就是rostopic这个指令了/***********************************************/rostopic list:显示所有话题列表rostopic list -v:查看列表并且查看话题的数据类型rostopic echo [话题]:查看话题消息内容rostopic find [数据类型]:查找指定数据类型的话题rostopic type [话题]:和上一条相反,查看数据类型rostopic bw [话题]:查看该话题的数
2020-10-07 17:18:50
718
原创 常用数字滤波算法代码
文章目录限幅滤波中值滤波算术平均加权平均滑动平均低通滤波限幅滤波程序中进行数据选择限幅/*限幅滤波算法*/#define Limit_A 50char data; //上次数据char filter1(void){ char datanew; datanew = getdata(); //当前数据 if((datanew - data)>Limit_A || data - datanew)>Limit_A) return data; else return datanew
2020-09-14 00:40:08
1149
原创 STM32驱动VL6180X测距
文章目录I2C读写读取ID(无需初始化)初始化代码读取距离读取环境光强度测试代码VL6180测距原理就是TOF,超声波也可以测距,但是这个测距是用红外光。VL6180X集成了测距、环境光传感器、接近传感器测距(RANGE):0~100mm精度高,可以到200mm,但是我试过200+以上直接255了;环境光 ambient light sensor(ALS):测光强,不同增益等级,0-100 Lux,我的模块没有这个功能,但有代码(可能会出错)。以下是软件I2C代码,硬件I2C没试过,可能可以用,不
2020-09-03 20:35:01
12075
39
原创 STM32制作FLASH字库
自己做了一块板子,FLASH(W25Qxx)都是空的,自己写了段简洁的代码用FAT从SD卡写到FLASH中。有两种方式写入字库。一种把FAT系统做到FLASH里,第二种是直接写入FLASH后一段地址空间里。相比之下,我选择后者。为什么呢?FATFS太大了!你要是每次显示几个汉字就去移植,再去编译下载,那可真慢。。所以后者直接移植一个FLASH驱动就可以了。代码不多,用到什么写什么嘛,实现小功能就小代码呗。下面贴代码了,大概讲一下地址定义//W25Q128! -> 总空间:16M#defin
2020-08-15 13:42:30
5524
1
原创 STM32之间的CAN无法通信问题解决
两个CAN设备无法通信的问题,大概有以下几点1、120欧电阻没形成闭环网络2、波特率设置出问题3、接线错误4、模式设置出错5、筛选器掩码设置解决办法1、120欧电阻是必须的,但是一条总线只需要两个120欧电阻2、波特率这可是大坑,因为CAN是有过滤功能的,只要你不符合,完全看不到主机发来了什么,不像串口那样就算波特率出错了,也能看到乱码。特别时F407和F429两个主频不同的M4芯片(本人遇到的),CAN_Prescaler最好的应该是F407=14,F429=15(这是APB1之间的比值)
2020-08-10 18:15:46
6152
原创 STM32红外解码(NEC)
文章目录捕获中断溢出中断校验数据进行输出部分其他代码本实验用STM32F4来实现红外遥控不能隔墙、抗干扰强。对流程不感兴趣可以直接看代码NEC码的时序大致是接收到引导码(9ms 低电平+ 4.5ms 高电平) + 地址码+反码(校验用)+数据+数据反码,这时已经接收到了完整的数据了,之后如果不松手,就会有9ms低电平+2.5ms的高电平+0.56ms低电平+97ms左右的高电平,如果还是按下的状态,同样会有这一周期的时序发生。以此判断按下几次注意一点!这是发送方的时序,接收方的时序是反向的,也就
2020-08-06 22:18:28
3778
2
原创 STM32F4-RFID阅读器驱动(硬件SPI)
文章目录硬件SPI接口读写寄存器和复位设置卡类型读卡器和卡通讯读取卡类型,卡号读取卡序列号其他应用代码RFID门禁卡(非接触卡)简直生活中无处不在。本文从简入深,慢慢给大家解析一下它的驱动程序硬件SPI接口1、从某宝买到的模块可以看到,总共有8个接口,除去电源接口,分别有IRQ中断接口,RST内部复位,其他4个就是SPI接口2、特别说有个SDA,我用SPI模式,所以SDA就是CS(片选)口。所以我的接线就是PA5 --> SCKPA6 --> MISOPA7 --> MOS
2020-08-04 14:45:04
3032
原创 STM32从ESP获取时间(AT)
串口初始化代码就不分享了,大家都有的,我做的是回环测试,也就是用了两个串口,一个串口给ESP8266发送指令,另一个接收他发回来的数据,如果需要代码最后会给先分享一下代码,大概讲解一下(从简)建立连接//Server:服务器类型 IP:服务器地址 PORT:端口号void ESP_CIPSTART(const char* Server,const char* IP,const char* PORT){ char temp[40] = {0}; uint8_t k = 0; sprintf(t
2020-07-30 22:51:02
2731
2
原创 STM32串口IDLE中断
stm32串口的收发似乎不太一样,发只要你把数据送出去就行了,电脑会自动读取(电脑不知道你啥时候发,总不能一直等你的数据吧),而你的stm32要接受一个数据呢?一直在USART_ReceiveData吗?(当时这个问题也困扰了我,直到接触了ESP8266)后面我发现有个很好的东西,串口IDLE中断,能自动响应你从电脑(别的串口)接收到的不定长数据。而不是一直干等着。先简单说说原理吧,大概是,你的stm32接收数据时,并不会马上把数据马上处理掉,而是写到你定义的缓冲区里,然后你串口线上一个BYTE长度的时
2020-07-29 00:45:47
3484
3
原创 STM32驱动BMP280模块
BMP280大气压传感器看似很冷门,或许大家都觉得,大气压不是一个地区就那么一个值.测量它有什么用?但是这个模块很神奇,它测量精度很高,大气压和所处海拔关系密切,但是精度高的特点使得它可以测你的所在高度,你拿着传感器起身,他的ADC值会发生变化.大佬们就用它给飞控定高(也就是很秀的操作,四轴悬浮在那里,一动不动,很神奇吧!),还有可以做天气监控(Weather monitoring,数据手册写的),所以它是很有必要玩玩的。先说一下别人分享的代码,虽然编程水平很高,但是很难看懂那些结构体,我总结了一些,把我
2020-07-28 01:36:53
32778
213
原创 MPU6050基本读写和移植DMP读出三轴
文章目录引言简述一下mpu6050和stm32的一些坑吧MPU6050 I2C读写MPU6050 初始化读取内部温度传感器读取陀螺仪DMP的移植读取三轴角度引言最近玩了IMU模块,看了很多的博客,从无到有,包含了一些我调试代码的过程。分享一些坑吧,很多都是读不出来啥的,其实模块一般没啥问题,我会一步一步地教大家怎么排除常见问题。我是参考正点原子的代码,因为他们没教怎么移植DMP简述一下mpu6050和stm32的一些坑吧TB上mpu6050也不贵,就那么几块钱,模块几乎都一模一样,贵的我不懂。模块
2020-07-27 11:31:56
12216
10
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人