- 博客(73)
- 资源 (12)
- 收藏
- 关注
原创 VSCODE 导入cubeide工程
1.下载vscode及插件STM32 VS Code Ectersion 版本号1.0.0,之后这个有导入功能。3.在左侧出现stm32图标。点击Import a local project导入本地项目。2.等待自动安装对应插件,提示缺少什么就补什么。
2024-10-15 10:26:38
677
原创 vscode +STM32 VS CODE EXTENSION
使用STM32 VS CODE EXTENSION 1.0.0导入cubeide工程使用cmake编译报错最后一行错误其中是从IDSTM32CubeIDE中的一个变量引用,但在CMake中,冒号和具有特殊意义,因此直接使用这种格式会导致语法错误。
2024-08-29 09:34:49
648
原创 一篇文章讲明白什么是mavlink(不玩飞控,但是想用mavlink协议)
通信协议是一种规定了数据传输格式、传输速率、错误检测和纠正等通信过程中所需的规则和约定的标准或约定。侠义的讲,只要你用串口了,就必定要用到通信协议,无论是调试,打印错误代码或者进行平衡车控制,大家都要约定好通信速率,数据是16进制还是ascii码。对于普通的调试打印大多数只是ascii(UTF-8等)码显示,这时候只要规定好通讯速率就好。
2024-04-19 23:58:43
6431
原创 CANfestival 主机进入预操作态(preOperational)自动发送复位节点指令。
核心是iam_a_slave ,这个是字典生产的时候自动生成的。
2024-04-18 17:32:10
320
原创 CubeIDE 下如何将版本号和日期关联。
1. 使用__DATE__ 和__TIME__获取编译日期和时间。2. 将__DATE__ 和__TIME__转换成UINT。1.在工程中右击对应文件,选择"构建选择的文件"4. 设置工程保证每次都会重新编译对应文件。3.在构建步骤中粘贴上一步复制的内容。2.复制控制台构建信息,需要复制整行。3. 将转换后的数赋值给版本号。
2024-03-31 17:05:42
339
原创 FreeModbus主机实现
不好的消息是,这个套主机不是特别好用,主要问题是将从机寄存器在本地做了缓存,带来的问题就是,从机地址必须连续,所有从机的寄存器地址必须连续,否则就会带来大量的内存浪费。FreeModbus是开源的modbus库,可以很方便的移植到单片机上,但是遗憾的是FreeModbus没有主机库,好消息是。大神写了仿照freemodbus从机写了一套主机,针对这个问题,做了如下优化,
2023-11-02 22:36:21
901
3
原创 STM32+fafts+Easylogger输入日志功能
由于第一步和第二步网上教程比较多,就不再重复写,同时Easylogger移植的文章也不少也就不写了。只写关键的第三步,如何修改Easylogger日志输出驱动文件,使调用log_x("日志")是能输出日志到sd卡,并按照日期和时间进行存储。Easylooger本身是带日志输出到文件功能的,但是Easylogger本身源码用的不是Fafts的接口函数,所以需要移植。要让Easylogger能够输出日志到sd卡总共分三补。第三步,修改Easylogger日志输出驱动文件。第一步,移植STM32+SD卡驱动。
2023-11-02 22:26:28
2340
19
原创 手搓stm32下中间件,用arduino的方法写stm32
挖坑前言,为什么写这个专栏。arduino虽然方便,但是基于C++的不方便调试,stm32配置复杂。
2023-10-15 18:22:46
407
原创 stm32实现多个引脚的软PWM
1. 一个定时器控制一个引脚,这样一个周期只需要产生2个中断。优点是一个周期只需要产生2次中断,缺点是每个引脚都需要一个定时器。2. 一个定时器产生最小的中断,根据中断内计数与每个引脚设定值做比较。有点是一个定时器可以控制多个引脚,缺点是要频繁进入中断。本程序设计了一种集合上面两个优点,即一个定时器可以生成多个引脚的PWM,同时周期内总的中断次数为引脚数+1。伪代码如下,代码中封装了引脚操作和定时器操作,不能直接使用,但是不影响其思想。1. 所有引脚PWM周期相同,周期结束的中断,置位所有引脚。
2023-06-28 15:10:49
898
原创 canfeistval 使用笔记
1.关于SDO发送,SDO需要提前在0x1280中定义SDO服务,如果没有定义则无法发出SDO.会自动从未使用的SDO服务中分配一个。
2023-06-28 13:42:46
195
原创 Footprint Expert PRO 22 无法生成allegro的带大过孔的封装
WARNING :DEFAULT INTERNAL: Anti pad size is equal to or smaller than the regular pad size. This may cause DRCs.WARNING : Drill hole breaks out of pad on layer DEFAULT INTERNAL
2022-11-18 11:46:29
2901
原创 CubeIDE stm32硬件错误调试
在单片机中,经常会出现硬件错误。跳转到HardFault_Handler()错误中断在cubeide中会自动暂停,这时候打开故障分析器窗口。典型如下:双击,lr或者pc则会跳转到异常除的代码,例如双击pc后:LR、PC、SP寄存器的功能及使用LR(R14)子程序的返回地址:从子程序返回后,主程序继续执行的指令的地址称为子程序的返回地址LR也叫链接寄存器,用于存放子程序的返回地址。在要进入子程序之前,先将子程序的返回地址存入LRPC(R15)PC也叫计数寄存器,用于存放下一条要执行的指令的地址,因
2022-06-14 11:08:29
2544
原创 常用电机驱动器
常用电机驱动器电机品牌:松下特点:modbus,EtherCAT通信,交流伺服,系列全,货期短,价格适中,性能稳定,电机和驱动器配套。品牌:台达特点:交流伺服。canopen通信,EtherCAT等通信接口全,价格适中,性能稳定,电机和驱动器配套。品牌:和利时特点:低压直流伺服,一拖二,针对AGV特有底盘模式,支持canopen但是支持不是很好。支持自己电机,体积大。价格美丽。性价比高品牌:微秒特点:低压直流伺服,小体积,canopen,modbus,EtherCAT通信类型全,功率范围大,
2022-05-18 16:44:57
2318
原创 Allegro 使用技巧
这几个分别是通用,布局,布线。右键不一样,注意区别,最后一个是修剪直角。Allegro技巧有太多了,就先选择我们会用到的10个类型。Allegro封装神器FPM,写进教科书的网友作品。快速生成封装。快速丝印丝印摆放总共分三步。第一步 调整统一大小先打开丝印层。选择Edit-change,在find中只选择text,options中只选择text block并设置成自己需要的字体。框选左右丝印。第二步 全部居中Manufacture-label Tune弹出label...
2022-03-08 13:26:10
10801
原创 CUBEIDE 使用指南
cubeIDE includes 下一直有一个错误的路径如图,不知道什么原因引入了一个错误的路径怎么也消不掉,最后发现在工程文件里。用记事本等打开.cproject文件,删掉对应路径就好了。图是已经删掉的了。...
2022-02-05 21:46:45
2025
1
原创 cubelide 1.8可用 自动补全
只需要替换文件链接: https://pan.baidu.com/s/1vNsp9npbXbmDbGzDRF0zKg?pwd=tfz6 提取码: tfz6参考链接:CubeIDE1.5.1和1.6.1代码提示插件,更新1.7.0版本 - 知乎
2022-01-30 23:12:04
605
原创 CanFestival 调试入坑指南
最近调CANopen主机,使用的是CanFestival ,StrongHuang的demo,使用FreeRTOS,发现总是异常故障,排查发现是Demo的CanOpen_AppTask任务堆栈设置过小导致,改大后问题解决。
2021-10-27 17:03:07
1108
1
原创 allegro 17.2 3D 不显示问题
已经下载好模型,并且匹配导入封装库,在step package maping下能看到已经导入,但是点击3D显示,仍然不显示3D模型。解决办法:Setup-Areas-Package Height 下查看 Min height 和Max height是否设置,两个需要设置,且不能一样大...
2021-07-20 13:21:48
5313
原创 STM32的下载接口需不需要上下拉
关于stm32的下载接口JTAG、SWD需不需要上下拉电阻历来争议很大,但是我们只要看下STM32的官方手册就能明确。下图引用的是stm32f10x中文参考手册RM0008 Reference Manual 的中文译本,参考手册已经明确指出,虽然JTAG需要上拉,但是stm32已经在内部嵌入了上拉电阻,所以外部不在需要外加外部电阻。...
2021-04-01 17:01:24
5408
原创 Odrive 代码开发随笔(二)
这一章主要查看odrive的轴控制程序。从上一节最后启动的voidAxis::start_thread() 来查看。// @brief Starts run_state_machine_loop in a new threadvoid Axis::start_thread() { osThreadDef(thread_def, run_state_machine_loop_wrapper, hw_config_.thread_priority, 0, stack_size_ / siz.
2021-03-01 13:00:31
5753
7
转载 选择用于三相电机驱动器的基于分流器的电流感应放大器-TI工业机器人设计工程师指南摘抄
原文在https://www.ti.com.cn/cn/lit/pdf/zhcy117中的2.2.11 选择三相电机驱动器中使用的基于分流器的电流感应放大器精确的相电流采样会对矢量控制的工业电机驱动器三相逆变 器的性能产生重大影响。可以通过霍尔效应传感器、磁通门传 感器、基于变压器的磁传感器或分流电阻器来测量电机相电 流。磁传感器可提供天然的隔离和宽电流范围,而分流器解决 方案则是具有成本效益的高线性、高带宽感应选项。相电流可 能会高达 100A,三相逆变器的工作电压 介于 110 到 690VAC
2021-02-23 14:05:13
1646
原创 Odrive 代码开发随笔(一)
说明:记录自己阅读源码的笔记。1.目录说明固件位于Firmare下面:Board\V3: 板级文件,都是自带或者cube生成的,----drivers:stm32库代码----Inc:cube生成的头文件----Src:cube生成的源文件 启动函数在main.c里面----Middlewares: ----ST\STM32_USB_Device_Library:USB库 ----Thired_Party/FreeRTOS: FreeRTOS库----...
2021-02-18 13:29:02
10625
6
原创 stm32 PB3引脚调试时不能使用问题
小结:PB3引脚作为特殊中的特殊引脚,不但是调试引脚,而且是跟踪输出引脚,在使用过程中只是禁用JTAG,那么正常使用时没有问题的,但是调试还是不能作为普通引脚,正确配置方式为DBGMCU->CR = DBGMCU->CR & ~((uint32_t)1<<5); // 不分配跟踪引脚,释放PB3RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_AF
2021-02-05 17:18:36
903
1
原创 FOC相关资源
odrive:odriver 硬件:https://github.com/madcowswe/ODriveHardwareodrive 软件:https://github.com/odriverobotics/ODriveodrive 官网:https://odriverobotics.com/odrive文档:https://docs.odriverobotics.com/migrationSimpleFOC:官网:https://simplefoc.com/硬件:https.
2021-01-29 09:47:44
1884
原创 RS485接收一直为低解决办法
最近调试485使用的3.3V供电的MAX3485EESA,测试过程中发现总线上没有数据时接收一直为低,这就造成了会多收到1个0.经过仔细检查发现,MAX3485EESA真值表如下0.2V才认为是高。而我在设计中MAX485的输出A上拉4.7k到3.3V,B下拉4.7k到0V,AB之间串联一个120欧姆的电阻。这样导致AB之间的电压为3.3*(120R/(4.7k*2+120R))= 41mV低于0.2V,所以RO一直为低。...
2020-12-03 18:05:05
4055
2
原创 canfestival 移植记录-eds使用
入门参考https://www.strongerhuang.com/或者https://www.zhihu.com/column/canopen同一作者,不同连接1.可以使用自带的canfestival自带的编辑器。需要装python的环境。位置为...\Mongo-canfestival-3-asc-1a25f5151a8d\objdictgen\objdictedit.py 这个基本满足需求。2.使用更加专业的Vector CANeds生成eds文件,然后通过canfestival的编辑器导入.
2020-11-04 15:07:44
1894
1
原创 PLC 数字量输入输出
ISO1H811G由高达 1.2A 每通道的 24V(典型值)工艺侧 8 通道高边电源开关为工业控制系统提供 3.3V/5V 控制域保护Si8382P-IU适用于PLC应用的隔离式8通道输入设备同系列还有spi接口的
2020-09-22 16:14:58
2308
原创 STM32L151 2.8uA 低功耗 standy模式
void Reset_Periph(void){ __HAL_RCC_GPIOA_CLK_ENABLE(); __HAL_RCC_GPIOB_CLK_ENABLE(); __HAL_RCC_GPIOC_CLK_ENABLE(); GPIOA->MODER = 0xffffffff; GPIOB->MODER = 0xffffffff; GPIOC->MODER = 0xffffffff; /* Disable GPIOs cloc...
2020-05-22 23:27:34
1097
原创 allegro 敷铜小技巧 毛刺不光滑
敷铜之后引脚不光滑。如下:我们可以通过敷铜参数设置,Create pin voids 设置为In-line修改后如下:
2020-02-03 21:53:23
1682
Oscillator design guide for STM8S, STM8A.pdf
2019-05-21
单片机RTOS中cpu使用率统计(stm32官方程序)
2017-06-11
uln2003(中文)资料
2012-10-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人