- 博客(33)
- 收藏
- 关注
原创 NCS 更改默认的JLINK下载使用DAPLINK下载
打开工程根目录,新建。注意,必须是当前 VS Code 工作区对应工程中的文件。如果已经有任务配置,应合并其中的tasks,不要直接覆盖别的任务。以下为JSONC(VS Code tasks.json 支持//注释)内容;{ // VS Code 任务配置根对象"version": "2.0.0", // VS Code 任务配置格式版本"tasks": [ // 定义自定义任务列表{ // 定义 OpenOCD 烧录任务。
2026-10-31 00:26:05
157
原创 CH592F 2.4G 低功耗
2.4G私有协议低功耗传输,tx按一下按键按键发送数据到rx,rx 1s内启动10ms接收窗口进行接收。例程是ch592\EVT\EXAM\BLE\RF_PHY。配置开启 HAL_SLEEP。
2026-07-30 17:55:52
240
原创 VMware的Ubuntu与windows共享文件夹
第二步,安装安装open-vm-tools工具。第四步,重新加载 systemd 配置。第五步,挂载共享文件夹。第三步,创建挂载目录。
2025-09-22 16:55:48
362
原创 CW32L011电机开发板控制教程
注意 注意 注意 烧录的时候,12V供电的话板子电压是5V,一般的stlink daplink jlink都是3.3V的,所以烧录程序的时候不要接12V,用烧录器的3.3V供电,然后烧录,烧录后拔掉烧录器,接上电机再供电12V。下载了代码,看了一下程序是读取PB01(AD通道09)的电压,然后依据采集的电压进行滤波,求了20次的平均值,正式这个滤波,所以可以用pwm和电位器电压控制电机转速。直接修改电压,强制给一个值,先给一个小一点的值,直接LED闪烁报错ERROR。手里没有电位器,没有其他单片机。
2025-08-13 23:31:56
501
原创 快速sincos算法,stm32测试
标准的三角函数需要442ms,Remez快速正弦算法要98ms。测试硬件是 STM32L031,主频32MHz。
2025-06-24 17:21:25
367
原创 STM32MPU6050 dmp库
stm32f103c8t6 硬件I2C。PB6接SCL PB7接SDA。使用cubemx生成HAl库 用keil编译。
2025-06-24 17:18:43
366
原创 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
960
原创 图片转RGB565格式.c文件
执行脚本:python convert_to_rgb565.py。安装py脚本:pip install pillow numpy。运行后转换当前目录下所有图片,生成一个.c一个.h。
2024-09-04 10:03:08
1061
原创 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
1308
原创 STM32 uart dma接收,环形buff,带缓冲
需要注意的是,环形dma接收在缓冲区满的时候,最后一包数据会被分成两半,一半在后面一半在前面(举例:buff大小为10,发了3包数据1234、abcd、ABCD,那么buff里面就是CD34abcdAB,ABCD这包数据被分成两半了),在串口数据处理中,一定是希望数据连在一起好操作,所以要解决这个问题,第一种方法就是令搞一个新的buff,每一次把数据拷贝进去,但是这也太捞了,而且要缓冲数据就要开好几个buff管理也复杂。原理:测试使用串口3,使用dma接收,启用环形模式,开启串口空闲中断。
2024-07-22 10:15:29
2336
原创 N1刷openwrt
首先要刷入电视系统,目前我的盒子已经刷入YYFROM-N1-mod-dangbei-kodi.img电视的固件包,只需要把openwrt刻录到u盘里面,重启电视系统的时候选择线刷即可进入u盘引导,进入u盘里面的openwrt。这个时候已经变成openwrt系统了,但是要配置一下才可以,因为只有一个网口,默认是LAN口,要解除网口的占用,把网口配置成WAN口,(无线网络默认已经是LAN口了,不用处理)配置好后,才能通过这个网口连接主路由器使用。注意,要留一个无线网络,LAN口配置到无线网络上,然后点保存。
2024-05-31 20:35:18
3930
原创 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
1410
原创 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
545
原创 stm32软件闹钟
实现10个闹钟,需要mcu提供时间获取函数,1分钟定时检查调用,以及flash读写函数(用来掉电不丢失闹钟信息)。其实不是stm32啦,因为stm32流量高,这是一个通用的软件闹钟(软件实现的当然通用哈)。
2024-01-03 18:54:48
704
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
1642
原创 STM32 U8g2 spi软件驱动,spi硬件驱动(优化u8g2的软件spi,速度翻好几倍)
STM32 U8g2 spi软件驱动,硬件spi驱动
2023-04-02 15:19:59
5156
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
3833
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
2592
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
1153
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅