自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ApexYuan

Learn & Share

  • 博客(139)
  • 资源 (9)
  • 收藏
  • 关注

原创 记一次使用STM32F042K6芯片内部HSI48M时钟导致CAN总线报错问题

深入去解决某个问题时,也会加深你对其它部分的了解和思考,比如这里让我又重新了解和CAN的采样点和CAN报错机制。

2024-04-12 20:33:36 307

原创 STM32笔记---CAN采样点设置和报错

这里我们可以在HAL库的CAN中断处理的部分找到依据,ERRIE中断使能后出错时会将主状态寄存器(MSR)中的ERRI位置位,然后再依次判断有哪些分开关管理的错误中断触发了。之前使用CAN总线一直没详细搞清楚,使能的错误中断都具体对应的是什么,使用的时候一下把所有的CAN错误中断都使能上,正好今天遇到的CAN总线的一些问题,详细看了下。再同步补偿宽度(SJW)的设置范围位1-4TQ,相当于CAN总线的采样点可以根据实际情况在1-4个TQ范围内进行调整,这个值大可以增大CAN波特率的容错范围。

2024-04-12 19:37:23 1053

原创 C语言知识点---char *a和char a[]

在 C 语言中,字符串实际上是使用空字符 \0 结尾的一维字符数组。因此,\0 是用于标记字符串的结束。= 17 ,a为数组名,sizeof可以直接计算数组所占空间的大小。= 4,p为指针变量,sizeof计算的是这个变量所占空间的大小。a为数组名,数组首元素的指针常量,因此a不能被赋值。: a为char类型数组名,表示数组的首地址,可以将数组名赋值给指针变量p。这两种形式都可以定义字符串。类型指针,表示用于存放。

2024-04-08 15:59:59 248

原创 vscode开发ESP32问题记录

首先可以通过vscode 中的IDF插件生成模板工程,这样会自动创建。文件夹中的一些json配置文件,保存后对应的波浪线警告便消失了。

2024-04-04 12:09:29 420

原创 ESP32学习---ESP-NOW(一)

ESP-NOW 是乐鑫定义的一种无线通信协议,能够在无路由器的情况下直接、快速、低功耗地控制智能设备。它能够与 Wi-Fi 和 Bluetooth LE 共存,支持乐鑫 ESP8266、ESP32、ESP32-S 和 ESP32-C 等多系列 SoC。ESP-NOW 广泛应用于智能家电、远程控制和传感器等领域。

2024-04-03 20:09:03 488

原创 基于vscode Arduino插件开发Arduino项目

因此可以知道:vscode中的Arduino插件已经不支持添加Arduino IDE路径的方式了,转而使用了Arduino CLI(用于开发arduino的命令行工具)的方式。这样在vscode中开发Arduino可以不依赖于Arduino IDE,即不安装Arduino IDE也可以。意思是说:早期Arduino IDE的支持方式将在插件的下个发布版本中移除,请尽快使用Arduion CLI.指定输出路径,可以提高编译速度,也可以直接从输出路径中获取编译的二进制文件。便可以正常输出详细信息了。

2024-04-03 10:53:46 627

原创 ESP32学习---ESP-NOW

这里使用3个模块之间互相传输数据,首先我们先要获取到3个模块的MAC地址,每个模块向外发送数据并同时接收来自于其它两个模块的数据。打开串口监视器复位模块显示信息中会包含如下信息即为mac地址。

2024-03-31 00:23:48 405

原创 python知识点记录

版本是支持python2.7的最后版本,如果使用的是python2.7环境的话,需要安装正确的版本才能正常使用。是python的一个轻量级的定时任务调度库,可以实现每分钟,每天,每周的定时任务等,类似于Linux系统下的。官网地址:https://pypi.org/project/schedule/基于python的进程管理工具。

2024-03-29 23:41:45 247

原创 Linux知识点记录

这里的0,1,2分别代表标准输入(stdin),标准输出(stdout),标准错误(stderr):该种方法当用户挂起或退出的时候,命令会自动结束,即当前终端退出的时候,程序也会自动结束。的方法一致 ,例如:后台运行test1和test2程序。是指不挂断的运行,即使终端关闭也会继续运行。的含义:将标准错误输出重新定向到标准输出。在执行程序的时候后面加上。程序不指定为后台运行,

2024-03-29 23:20:49 490

原创 Linux查看重启时间,关机时间,运行时长的指令

这里测试环境为Ubuntu 16.04。可以通过下面的方式来进行查询。指令查看详细指令用法。

2024-03-29 15:21:09 288

原创 termux+ubuntu使用笔记

通过service 来替代systemctl指令,因为当前的Ubuntu系统使用的是经典的SysV init系统来管理服务,不支持systemd的方式。如果想实现的是定期清理日志的功能,或者和当前Ubuntu环境关系不大时可以通过termux环境下的cron工具来实现定时执行的功能。在termux $HOME目录下添加.bashrc文件,添加上如下所示指令便可以在termux应用启动的时候自动启动。是一个基于python的客户端/服务器系统,允许用户控制操作系统上的进程,这里需要注意的是我们一定要通过。

2024-03-23 19:12:37 714

原创 supervisor使用方法和报错分析

Supervisor是一个使用Python语言开发的一个用于管理与监控进程的程序。安装可以通过pip方式安装supervisorctl status #查看进程运行状态supervisorctl start <进程名> #启动进程supervisorctl stop <进程名> #关闭进程supervisorctl restart <进程名> #重启进程supervisorctl update #重新载入配置文件supervisorctl shutdown #关闭supervisord。

2024-03-22 18:56:48 246

原创 Linux下CAN调试工具can-utils的使用

这里是只监听CANID为0x181,0x281的数据。(知识点:CAN标准帧ID为11位,对应的掩码为0x7FF。CAN扩展帧ID为29位,对应的掩码为0x1FFFFFFF)提供了一系列实用的命令行工具,可以方便的调试CAN总线数据。这里主要记录各个工具的用法。然后回车可以打印出该工具的详细用法。

2024-03-08 15:45:13 632

原创 STM32 HAL库 串口使用问题记录

多数应该出现在未开启DMA模式使用中断方式接收数据的情况,程序比较容易触发ORE错误引起频繁进入串口中断导致的假死现象。解决方法:在串口错误中断中清除错误标志后,要重新开启串口中断接收。对于该种情况可以参考。

2024-03-02 15:07:08 530

原创 STM32F4 HAL库串口死锁问题调试记录

STM32F4 HAL库串口死锁问题调试记录

2024-03-02 13:57:29 563

原创 通过热敏电阻计算温度(三)---Marlin实现分析

通过热敏电阻计算温度(三)---Marlin实现分析

2023-10-24 14:04:57 349

原创 通过热敏电阻计算温度(二)---ODrive实现分析

ODrive计算热敏电阻的温度采用的时B值的方式计算的。首先根据公式计算出一系列的温度和测量点电压比例的点,然后通过多项式拟合曲线,得到三阶多项式的系数。函数用于对一组数据采用最小二乘法进行多项式拟合,返回值为多项式系数,deg表示多项式的阶数。在MotorControl->utils.hpp文件中根据多项式系数计算温度的函数。c表示多项式系数,用于根据多项式系数生成多项式(这里介绍的是仅有一个参数的情况)函数可以的得到原始的温度数据。为根据adc的值转化过来的0-1之间的值。存储了多项式的系数,

2023-10-23 20:09:18 505

原创 通过热敏电阻计算温度(一)---理论篇

通过热敏电阻计算温度

2023-10-21 18:35:07 1132

原创 结构体嵌套问题笔记

结构体相互嵌套

2023-10-18 15:51:21 173

原创 Keil MDK环境下FreeModebus移植踩坑记录

移植FreeModbus环境配置踩坑记录

2023-08-04 19:18:28 281

原创 Keil环境下CANopenNode移植到STM32问题记录(二)---堆空间设置大小

CANopenNode中使用了alloc函数来申请堆空间内存,可能会用到比较大的堆空间,后续可以详细看看。通过cubeMX默认生成的工程中堆空间的大小,运行程序时会进入hardfault。将堆空间设置为0x1000时仍不能正常运行,当设置为0x2000时才能够正常运行。

2023-07-07 19:23:21 462

原创 Keil环境下CANopenNode移植到STM32问题记录(一)---printf重定向问题

Keil环境下CANopenNode移植到STM32问题记录

2023-07-07 18:56:27 1270 1

原创 ARM半主机模式介绍

ARM半主机模式介绍

2023-07-07 16:27:39 594

原创 Ubuntu 16.04 安装Arduino ESP32开发环境记录

Ubuntu16.04 安装Arduino ESP32开发环境记录

2023-07-05 11:55:07 937

原创 ESP32通过Arduino导出编译bin文件并进行量产烧录

ESP32通过Arduino导出编译bin文件并进行量产烧录

2023-07-04 11:48:35 5488

原创 CRC学习笔记

NAME:参数模型的名称WIDTH:宽度,即CRC比特数POLY:多项式的简写,以16进制表示,省略最高位的1INIT:CRC初始值,REFIN:true/false,表示原始数据是否进行翻转REFOUT:true/false,计算之后,异或输出之前,整个数据是否按位翻转。XOROUT:计算结果与次之异或后得到最终的CRC值CRC算法名称多项式公式宽度多项式初始值结果异或值输入反转输出反转CRC-4/ITUx4 + x + 14030000true。

2023-06-17 18:43:08 719

原创 CANopen SDO下载

CANopen SDO 下载

2023-06-17 12:55:56 382

原创 CANopenNode学习笔记(一)--- README翻译

CANopenNode 是免费开源的CANopen协议栈。CANopen是建立在CAN基础上的用于嵌入式控制系统的国际标准化(EN 50325-4) (CiA301)高层协议。有关CANopen的更多信息,请参见http://www.can-cia.org/CANopenNode是用ANSI C语言以面向对象的方式编写的。它运行在不同的微控制器上,作为裸机应用或带RTOS应用。通信变量、设备变量、自定义变量收集在CANopen对象字典中,可以从C代码和CANopen网络访问。

2023-04-01 16:09:38 1437 2

原创 Modbus资料收集

ucos全家桶中的modbus协议栈。

2023-04-01 13:31:46 156

原创 CANopen资料收集

CIA官网canopen说明: https://www.can-cia.org/canopenhttps://canfestival.org/index.html.enhttps://github.com/CANopenNode/CANopenNode主页:https://www.embedded-office.com/products/canopen-stack源码链接:https://github.com/embedded-office/canopen-stack

2023-04-01 13:18:26 509

原创 无刷电机常用的磁性编码器资料收集

无刷电机常用的磁性编码器资料收集

2022-12-31 11:39:48 868

原创 MIT无刷电机学习资料收集

MIT无刷电机学习资料收集

2022-12-30 17:26:33 684

原创 python生成sin函数查表方法对照表

通过python生成sin函数查表算法的对照表

2022-12-24 09:59:14 509

原创 vscode开发STM32(三)---调试篇

vscode开发STM32(三)---调试篇

2022-11-28 19:28:04 5197 3

原创 vscode开发STM32(五)---问题篇

vscode开发STM32

2022-11-28 13:00:12 1187

原创 vscode+makefile开发STM32---支持C++开发

vscode+makefile开发STM32---支持C++开发

2022-11-18 10:47:53 1162

原创 vscode开发STM32(四)--- 技巧篇

vscode开发STM32(四)--- 技巧篇

2022-11-18 10:13:56 790

原创 vscode+makefile开发STM32(二)---下载

vscode+makefile开发STM32

2022-11-17 20:35:15 1199

原创 STM32+GCC编译问题记录

STM32 使用GCC编译问题记录

2022-11-17 13:47:46 267

原创 windows下搭建vscode+MinGW+cmake开发环境(踩坑)

vscode + MinGW + cmake环境踩坑

2022-09-15 20:18:20 1918

vscode_stm32f411.rar

vscode开发STM32的工程,具有编译、下载、调试功能。搭建过程也可参考:https://blog.csdn.net/xiaoyuanwuhui/article/details/116301416

2021-04-30

STM32F4_ROS.rar

STM32F407移植rosserial 通过USB虚拟串口和ROS系统进行通信,内部包含简单的发布测试例程。

2019-07-31

Stm32f103_超声波模块测试_利用外部中断.rar

stm32驱动HC-SR04超声波模块测距的中断例程,PA4->Trig,PA5->Echo 串口1打印测量距离。

2019-07-29

STM32编码器模式测试例程

STM32编码器模式的测试例程,代码中采用TIM2定时器的编码器模式,在主程序中利用延时函数监测单位时间内的脉冲数,并根据脉冲数计算速度。程序中不包含电机输出控制和PID调速。

2018-11-19

stm32驱动舵机

STM32驱动舵机转动的测试程序,程序中使用定时器1的pwm输出比较模式。

2018-11-14

WS2812驱动程序(SPI+DMA)

STM32通过硬件SPI+DMA方式驱动WS2812灯珠的驱动程序,其中移植了Adafruit_NeoPixel库函数可以实现多种显示效果。main函数中保留了各种样式的测试函数,只需在头文件中配置灯珠个数,将控制引脚接到PA7即可。目前测试过程中未发现明显bug,若有问题欢迎指出!

2018-10-28

MAX6675中文数据手册

MX6675芯片的中文数据手册,其中的重点部分作了高亮标记。

2018-08-16

STM32驱动max6675测温的测试例程

STM32F103 驱动max6675模块测量k型热电偶温度的测试例程。用到的资源有串口1和SPI1

2018-08-16

基于STM32单片机的指纹识别模块的测试代码

基于深圳十指科技公司出品的TFS-M64指纹识别模块的STM32测试代码,为了测试方便直接从原子例程中修改的。通过串口2与指纹模块通信,程序中封装了指纹模块的操作函数库。main.c文件中包含了许多之前测试的代码。

2018-08-15

空空如也

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

TA关注的人

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