- 博客(27)
- 收藏
- 关注
原创 ESP-IDF安装教程
首先要安装git工具1.使用命令拉去espidf的代码:或者选择国内2. 进入esp-idf目录下更更新子模块3.在esp-idf目录下运行cmd命令框,安装esp-idf到此安装完毕在esp-idf运行 export.bat 即可或者在任意cmd命令框输入 D:\esp\esp-idf\export.bat 也可以添加到系统启动项用%idf%获取添加桌面启动图标新建get_idf.bat输入新建get_idf_powershell.bat 输入
2025-02-20 21:48:48
406
原创 图片转RGB565格式.c文件
执行脚本:python convert_to_rgb565.py。安装py脚本:pip install pillow numpy。运行后转换当前目录下所有图片,生成一个.c一个.h。
2024-09-04 10:03:08
658
原创 STM32DAC输出波形
tim6 是在APB1下,时钟84兆,之后播放音乐打算从16KHZ采样率,16bit位宽,单声道来处理,所以预分频系数设置525 计数周期10,得到16K的定时器。使用 stm32f407的dac+dma+tim,dac输出电压,dma设置循环模式持续输出(buff只用以后周期就可以)tim来控制输出速度,就是频率啦。要实现stm32dac输出频率可控的正弦波,来模拟震动,为之后播放音乐最准备。tim.c 这里有个定时器1是用来干其他的事情的,不用管。顺便实现了正弦波,方波,三角波。
2024-09-03 13:57:22
837
原创 STM32 uart dma接收,环形buff,带缓冲
需要注意的是,环形dma接收在缓冲区满的时候,最后一包数据会被分成两半,一半在后面一半在前面(举例:buff大小为10,发了3包数据1234、abcd、ABCD,那么buff里面就是CD34abcdAB,ABCD这包数据被分成两半了),在串口数据处理中,一定是希望数据连在一起好操作,所以要解决这个问题,第一种方法就是令搞一个新的buff,每一次把数据拷贝进去,但是这也太捞了,而且要缓冲数据就要开好几个buff管理也复杂。原理:测试使用串口3,使用dma接收,启用环形模式,开启串口空闲中断。
2024-07-22 10:15:29
1781
原创 N1刷openwrt
首先要刷入电视系统,目前我的盒子已经刷入YYFROM-N1-mod-dangbei-kodi.img电视的固件包,只需要把openwrt刻录到u盘里面,重启电视系统的时候选择线刷即可进入u盘引导,进入u盘里面的openwrt。这个时候已经变成openwrt系统了,但是要配置一下才可以,因为只有一个网口,默认是LAN口,要解除网口的占用,把网口配置成WAN口,(无线网络默认已经是LAN口了,不用处理)配置好后,才能通过这个网口连接主路由器使用。注意,要留一个无线网络,LAN口配置到无线网络上,然后点保存。
2024-05-31 20:35:18
2590
原创 STM32 UART DMA接收任意长度数据(HAL库 以及 LL库)
使用STM32CubeMX 配置初始化模板,勾选UART 发送接收 DMA ,以及中断,TX设置单次模式,RX设置循环接收(属于大于缓冲区大小,将会覆盖前面的)设置DMA接收缓冲 HAL_UART_Receive_DMA(&huart1, (uint8_t *)aRxBuffer, RXBUFFERSIZE);打开空闲中断 __HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE);生成的工程uart初始化增加 打开空闲中断 以及 设置DMA接收缓冲 代码。
2024-05-21 19:37:25
959
原创 QT一键打包脚本命令
复制 set PATH=D:\Qt\Qt5.12.9\5.12.9\mingw73_32\bin;正常是使用命令windeployqt ***.exe来实现,需要切换目录,太麻烦,所以自己用user_cmd.bat脚本文件,双击即可自动打包。新建文件夹,复制工程release目录下的****.exe,再把user_cmd.bat放进去,双击user_cmd.bat即可。打开D:\Qt\Qt5.12.9\5.12.9\mingw73_32\bin目录,找到qtenv2.bat ,右键编辑。
2024-04-01 22:58:14
351
原创 stm32软件闹钟
实现10个闹钟,需要mcu提供时间获取函数,1分钟定时检查调用,以及flash读写函数(用来掉电不丢失闹钟信息)。其实不是stm32啦,因为stm32流量高,这是一个通用的软件闹钟(软件实现的当然通用哈)。
2024-01-03 18:54:48
616
3
原创 STM32 打印LOG 以及 自定义printf
OLED_ShowStr(0, 0, 16, "当前温度%.2f度",tem);OLED_ShowStr(0, 0, 16, "模式为:%s",mode);//当mode= 制冷模式 的时候 显示屏上面显示 模式为:制冷模式。通过设置 #define DEBUG 为1还是0 来控制log的输出,__LINE__和__func__,输出当前行以及当前的函数名,初始化完毕前打印编译的时间。如: OLED_ShowStr(0, 0, 16, "abcd");
2023-04-06 20:53:32
1422
原创 STM32 U8g2 spi软件驱动,spi硬件驱动(优化u8g2的软件spi,速度翻好几倍)
STM32 U8g2 spi软件驱动,硬件spi驱动
2023-04-02 15:19:59
4426
9
原创 STM32 ADC按键
主控stm32f103vet6,使用adc1的通道0即A0口,实验目的,一个GPIO检测11个按键的多种状态,按下状态,按下释放状态,长按状态,长按释放状态,一直按状态,5种状态检测。原理图如上图,采用电阻分压,adc采集到的不同的电压值判断是哪一个按键按下。效果如图下图:0代表第一个按键,1代表按下 2代表按下释放,3代表长按,4代表按着不松开,5代表长按释放//第一次按下立马释放[21:45:07.441]收←◆adc_key: 0,1 //检测到按下[21:.
2022-05-03 22:46:42
3501
4
原创 STM32开发环境,官网下载,Keil与F1器件包
在百度里面搜索keil,打开keil的官网点击Products 点击Arm Cortex-M然后点击 Download MDK 然后点击MDK536.EXE开始下载(我之前填了信息,第一次要填信息)如图:(信息随便填)接下来下载器件包,返回主页,点Products再次来到这个界面还是点Arm Cortex-M接着点Public Software Packs下面找,找到STM开头的找到F1的器件包,点击下载开始下载先安装mdk536.exe再安装Keil.STM...
2022-05-02 22:11:16
2352
6
原创 定时器实现灯快慢闪烁
LEDFLAG = 1 对应红蓝快闪,300ms变化一次LEDFLAG = 2 对应蓝灯常量LEDFLAG = 3对应红蓝慢闪,600ms变化一次LEDFLAG = 4……#define LED1 GPIOA5#define LED2 GPIOA6#define LED3 GPIOA7uint8_t LEDFLAG = 0;//控制LED闪烁void userled_Init(void)//共阳接法{ GPIO_PortAModeSet(LED1, 0);...
2022-04-14 22:20:10
997
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人