自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 转: jlink设备管理器显示的有,但keil无法识别

在通用串行设备里面有J-LINK, 但是在通用串行总线控制器里面看不到, keil也找不到.

2025-05-17 10:15:48 195

原创 一段测试好的NTC RT表插温度的算法, 采用二分法, RT表是倒序的(大到小排列)

【代码】一段测试好的NTC RT表插温度的算法, 采用二分法, RT表是倒序的(大到小排列)

2025-05-13 16:47:13 114

原创 AD7616 IO模拟SPI驱动大法

2. 基本的SPI读写驱动, 注意1.官方的文档可能误导, 2.由于速度极快, 不需要loop延迟.开始转换, 注意, 要隔开两个写操作, 才能读出想要的通道的ad。AD7616因为官方的例程不够, 可能在调试的时候碰到很多坑.1. 首先保证AD7616的管脚正确配置成SPI驱动。3. 初始化AD7616, 最好读出来看看正确与否。

2025-03-16 16:45:36 533 2

原创 STM32 U盘drive开发笔记

ww1. 首先在cube里面选用USB OTG, fats 文件系统2. 在main函数里面初始化和USB消息轮询: MX_USB_HOST_Process(); 是获取到U盘的状态当收到的消息是: 1. HOST_USER_CLASS_ACTIVE, 表明U盘驱动和文件系统已经可以读出文件了, 执行: read_write_U_disk_file_data();2. HOST_USER_DISCONNECTION和HOST_USER_CONNECTION 表示u盘的拔插* read_wri

2025-03-10 11:14:01 246

原创 CANopen帮你入门

PDO的目的是想高效快速传输参数, 因此不想在数据区8byte里面有多余的东西, 那就约定好在里面放入哪些对象字典里面的项目, 因为PDO有ID里面4组(tx/rx)地址, 可以传输: 4*2*8=64byte的数据。有运行参数:比如充电的电流,电压,so,c温度等, OTA要传给MCU的bin文件的大小crc等。​​​PDO: 快速的数据, 不要应答, 比如电流,电压,so,c温度等。SDO: 最要的数据, 要求有应答, 主机设置充电器的关键参数等。对象字典的索引分为16位的主索引和8位的子索引。

2025-03-07 11:18:19 241

原创 MCU 典型的模拟量多点校准方法

直接上图。

2025-02-24 10:12:00 210

原创 非阻塞和线程安全的printf

2.采用发送中断(用循环队列) , 或者DMA发送, 同时系统不采用抢占式和时间片(任务只能自己切换), 同时不要在中断里面调用printf, 也能保证发送单线程执行.原生的printf固然简单, 但是有两个缺点1. 阻塞线程, 2线程不安全, 我想改为非阻塞和线程安全的printf.3.在一个最低优先级的task里面接收发送队列, 然后发送, 其他任务就绪都能优先执行. 达到发送不阻塞的效果.1. 重写printf函数, 在产生格式化字符串的时候要。1. 采用发送中断(用循环队列写入和读出)

2025-02-14 17:11:49 140

原创 mcu int类型的长度和对齐

int等数据长度的不一样, 要不要对齐, 其实是c语言的一个大坑, c语言只是用short, int, long等数据类型, 但是不同的处理器, 对应的bit数量大相径庭, 给移植和编程带来很大的麻烦.32位机: 指针, int, long, float都是32bit的, long long, double是64bit。8位机: 16位机: 指针, int, float都是16bit的, long是32bit的。首先所有的处理器: char是8bit, short是16bit,

2025-01-03 14:41:38 352

原创 STM32F103 OTA bootloader 怎样进入不同的APP分区?

需求: ota升级通常要把代码(bin文件)通过串口/can/usb/蓝牙/4G传输到mcu, 这个传输要么通过booltoader处理, 要么通过app处理, 我觉得最好是app处理, 这样减少bottloader的代码量, 避免重复.app收到bin, 虽然可以存在外部flash上面, 但是最好存到另外一个app区, 这样速度快, 成本低, 最最要是可以两个app区相互备份, 升级不成功就换到上次成功的app分区.mcu片内分区4个: (128K ROM, 1k/page)0x80

2025-01-03 10:15:22 883 1

空空如也

空空如也

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

TA关注的人

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