- 博客(36)
- 资源 (5)
- 收藏
- 关注
原创 STM32H7-使用MPU解决栈溢出问题
栈溢出问题很容易在进入hardfault中断的同时,丢失栈帧。进而导致根本无法追溯问题来源。使用MPU可以解决该问题。
2024-02-27 15:10:54 511
原创 ET9300-EtherCAT从站协议栈应用指南——第三弹,硬件抽象层预览
ecat_def.h中定义了一些与硬件相关的宏宏定义描述EL9800_HW针对到手即用的特定硬件PIC24针对到手即用的特定硬件PIC18针对到手即用的特定硬件MCI_HW??FC1100_HW针对到手即用的特定硬件运行协议栈的控制器是16位的运行协议栈的控制器是32位的对ESC的访问16Bit对齐对ESC的访问32Bit对齐对邮箱的访问16Bit对齐uC对外部存储按照16bit访问,且工作在大端,置此位uC工作在大端,置此位。
2024-02-19 15:06:56 884
原创 ET9300-EtherCAT从站协议栈应用指南——第二弹,代码框架和执行流程
如果设备PDI中断都不支持,那么MainLoop中,ESC将会轮询ALEVENT,执行PDO_OutputMapping()和PDO_InputMapping()三个函数处理顺序一定是OutputMapping,App,InputMapping。主要对接如下3个函数,注意都是站在master视角描述的。前后台流程,后台mainloop循环,前台执行中断。三个函数对应的用户实现是(SSC-Device.c)大循环在ecatappl.c中,代码如下(删减)代码框架主要包含3部分。
2024-02-19 10:43:48 511
原创 ET9300-EtherCAT从站协议栈应用指南——第一弹,SSC工具使用
EtherCAT是工业网络协议之一,EtherCAT网络中有Master和Slave角色之分,其中Slave协议栈代码由EtherCAT委员会(实际上是倍福)通过SSC工具开放。获取这个软件需要注册为ETG会员(会费为0),或者。。。。。。博客里使用的版本是5.1.3学习EtherCAT 从站协议栈的最好材料就是官网的文档。AN_EL9800:倍福基于EL9800开发板适配EtherCAT的文档AN_ET9300:EtherCAT从站协议栈应用手册AN_FC11xx:PCI卡?
2024-02-19 08:48:19 613
原创 FreeRTOS基础知识,教程,简介,框架,中文手册
FreeRTOS 手册翻译1. FreeRTOS 发行版2. 堆内存管理3. 任务管理4. 队列管理5. 软件定时器管理6. 中断管理7. 资源管理8. 事件组9. 任务通知10. 低功耗支持11. 开发人员支持12. 故障排除
2023-12-20 14:14:44 392
原创 EEPROM 磨损管理算法
最近工作上有用到EEPROM,在我的应用中需要一分钟一次的擦写频率,按照设备一天工作16h,十年的设备设计寿命来计算,大概要擦写300万次。超出了一般的EEPROM擦写循环次数100万。…这个问题的解决办法有两种,一种是软件上加入磨损管理,不要对EEPROM同一位置频繁擦写。另一种是更换期间为铁电存储器,铁电存储器优点很多,寿命超长,写完数据之后没有延迟,但是价格会比EEPROM贵一点。对于成本不敏感的应用直接用铁电即可。
2023-06-15 09:44:12 1093 1
原创 EtherCAT P技术要点
EtherCAT P设备将以太网型号和两路电源耦合。实现基于供电的 100BASE-TX 的总线型或星型拓扑结构EtherCAT P仅仅改变物理层,其余与普通EtherCAT无区别。
2023-04-14 09:41:49 260
原创 STM32H7-RTC介绍与测试,Wakeup Timer测试,alarm测试
stm32H750 RTC方面的测试。本文介绍了STM32H750 RTC模块的组成部分,对wakeup timer 和Alarm 做了测试。
2022-08-16 21:50:02 1942
原创 直接感受整数小数真值变化时,原码反码补码是如何变化的
整数真值原码反码补码小数真值-128--10000000-1-127111111111000000010000001−1+2−n-1+2^{-n}−1+2−n-126111111101000000110000010-125111111011000001010000011-124111111001000001110000100-123111110111000010010000101-12211111...
2021-07-11 00:28:09 2655
原创 STM32F429IGT6项目准备9——关于TouchGFX ClickListener
文章目录1 前言2 如何使用3 总结1 前言第九次记录一如何使用TouchGFX ClickListener功能。ClickListener是属于MIXINS选项内的功能,几乎所有控件都会有这个功能,也就意味着几乎所有控件都可以监听触摸事件。官方关于MIXINS的介绍非常详实,阅读起来也非常舒服,这里填上连接https://support.touchgfx.com/docs/development/ui-development/touchgfx-engine-features/mixins/2 如何
2021-01-14 20:43:18 716
原创 STM32F429IGT6项目准备8——使用TouchGFX Custom Container制作Keyboard
文章目录1 前言2 CustomContainer2 测试CustomContainer3 编写运算规则4 实现触发5 对触发做出反应1 前言第八次记录一下如何使用TouchGFX Custom Container制作自定义的控件,本次以键盘为例。本节内容大部分使用Designer实现。这一节有些名词的命名做的不是太标准,还望大家不要介意。2 CustomContainer按照下图制作一个小键盘,这里为了简化只用了3个按键。灰色框内有一个文本框textArea_num,注意这个文本框不要用Autos
2021-01-12 15:52:11 1269 4
原创 STM32F429IGT6项目准备6——使用STM32CubeMX配置TouchGFX
文章目录1 前言2 硬件1 前言终于写到这里了,这篇文章过后应该就和硬件拜拜了。第六次记录如何使用cubemx生成touchgfx工程,本文应该会比较长,大家耐心观看。配置touchgfx过程中,我们大致需要做的如下:· 配置SDRAM(参考前文)· 配置RTOS(参考前文)· 配置LTDC· 配置DMA2D· 配置touchgfx2 硬件...
2021-01-05 19:16:13 2220 18
原创 STM32F429IGT6项目准备5——使用STM32CubeMX配置SDRAM
文章目录1 前言2 硬件3 Cubemx配置3.1 SDRAM 2 的配置4 工程内的修改4.1 移植文件4.2 测试1 前言第五次记录一下使用CubeMX配置SDRAM的过程。STM32F429IGT6有两个SDRAM Bank,地址分别从0xC0000000, 0xD0000000开始,对应CubeMX配置里的SDRAM1和SDRAM2。每一个SDRAM控制器只可以连接一块SDRAM芯片。2 硬件w9825G6KH-6I(32M字节16位宽)3 Cubemx配置3.1 SDRAM 2 的
2021-01-05 12:08:13 2016 4
原创 STM32F429IGT6项目准备4——使用STM32CubeMX配置FREERTOS下的FAFTS
文章目录1 前言2 硬件3 Cubemx配置1 前言第四次记录一下配置FREERTOS下的FAFTS过程。测试代码基于上一个工程。可能有些童鞋比较疑惑,为什么我先配RTOS,再配的FAFTS呢?因为如果有RTOS的话,FAFTS会检查RTOS是否已经跑起来,如果没有的话,默认返回硬件错误(code 3)?????。好吧我也不明白这样的设计目的是什么,bug是我调试后发现的,解决方法很简单,放到进程里挂载就行。我们开始吧!2 硬件上同,SD卡没有检测引脚,cubemx配置的时候忽略即可3 Cubem
2021-01-04 22:41:29 2941 3
原创 STM32F429IGT6项目准备2——使用STM32CubeMX创建FREERTOS工程
参考我之前的文章https://blog.csdn.net/qq_42039294/article/details/105245431
2021-01-04 11:23:51 288
原创 STM32F429IGT6项目准备1——使用STM32CubeMX初始化并重定义串口
文章目录前言硬件平台Cubemx配置工程内的修改勾选microlib下的重定义取消勾选microlib下的重定义前言最近想要做一个小项目,大概会牵涉到stm32,fafts,touchgfx,sdram,FLM烧录算法。这里有些东西我之前是做过的,但是时间太长,都忘光了,借这个项目记一点笔记,顺便帮大家排一排坑。笔记主要针对的是已经会熟练操作stm32cubemx的童鞋,新建工程类的轮子我就不造了。我们现在开始吧第一次记录一下配置和重定义串口的过程,其中主要是Microlib的取舍,重定义代码会如何变
2021-01-04 11:06:37 1040 4
原创 STM32F429 使用CUBEMX配置SDIO 非DMA传输
2. 测试代码#include "main.h"#include "sdio.h"#include "usart.h"#include "gpio.h"#include <stdio.h>void SystemClock_Config(void);int fputc(int ch, FILE *f) //串口重定向{ HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff...
2020-12-31 18:32:49 856
原创 STM32F030 使用CUBEMX配置ADC多通道采集 DMA传输
STM32CubeMX的配置以下为测试代码//usart重定向,注意使用前需要包含头文件<stdio.h>int fputc(int ch, FILE *f){ HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff); return ch;}//定义数组,存放序列转换数据(数组里包含两个通道的数据,按序存放) uint16_t _u16ADC_Value[100]; uint32_t _u32
2020-12-29 22:05:18 4741 15
原创 在STM32F4上实现简单的SHELL
## 平台简介正点原子STM32F4最小系统板,HAL库,CUBEMX## 核心要点空指针可以指向函数并运行实现过程1.首先建立一个结构体virtuallist, 保存函数名(函数指针)和对应的提示字符串。这里定义list_item仅用于sizeof()测量一个结构体的大小。2.建立函数——提示字符对应表。这里使用结构体数组。3.串口接受的字符,有256种情况。为了方便使用,我...
2020-04-10 15:12:29 1189 2
《使用DMA+SPI驱动Aliyun Things 上的ST7789H2 LCD屏幕》-附件
2022-01-17
在STM32上实现的简单的shell
2020-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人