我的小问题集
文章平均质量分 67
研究是为了理解
要想学会一件事,就不能什么都学。
展开
-
STM32F103 与 GD32F103 差异
一些细节差异,不定期更新原创 2024-05-21 13:51:42 · 503 阅读 · 0 评论 -
复杂系统是如何失效的 (How Complex Systems Fail)
复杂系统本质上是固有危险的系统翻译 2024-05-11 16:58:10 · 129 阅读 · 0 评论 -
使能中断与禁止中断策略比较
本文描述的内容仅适用于架构、Keil MDK编译环境下。在阅读 RT-Thread 源码和 FreeRTOS 源码时,发现二者使能中断和禁止中断方式不同,再加上 CMSIS 也提供了使能中断和禁止中断的函数,这些代码何处不同,各自的方法有什么优势所在?特记录如下。原创 2023-02-04 16:10:46 · 1680 阅读 · 0 评论 -
通用环形缓冲区 LwRB 使用指南
LwRB是一个开源、通用环形缓冲区库,为嵌入式系统进行了优化。源码点击这里(Github)。原创 2022-08-25 15:58:26 · 5038 阅读 · 2 评论 -
Cortex-M3/M4内核处理器一次中断事件可能产生两次中断问题
平台:LPC1788中断源:外部中断1(红外接收)现象:红外解码失败。正常情况下一次红外遥控按键应该产生16次外部中断。诊断代码却显示执行了32次外部中断服务函数,也就是说一次中断事件,产生了两次中断。以下将这种问题简称为中断执行异常问题。期间排除掉红外遥控硬件电路、软件配置、红外遥控头输出波形、CPU勘误等可能性。最后看到Keil官网知识库中一篇文章ARM: Cortex-M3/M4 Interrupts Happening Twice?,才确定问题所在。这篇文章给出了以下信息:所有C.原创 2021-01-20 13:14:49 · 2029 阅读 · 0 评论 -
STM32F103芯片中断优先级以及FreeRTOS优先级设置
STM32F103芯片中断优先级设置CM3中,优先级数值越小,优先级越高。STM32F103只用了4个位来表达优先级,因此最多支持16级的可编程优先级(0~15),15为最低优先级。然而这16级可编程优先级并不一定都是抢占优先级,它会被优先级组分成两类:抢占优先级和亚优先级。NVIC中有一个寄存器是“应用程序中断及复位控制寄存器”(内容见表7.5),它里面有一个位段名为“优先级组”。该位段的值对每一个优先级可配置的异常都有影响——把其优先级分为个位段:MSB所在的位段(左边的)对应抢占优先级,而L原创 2021-01-18 11:21:31 · 6277 阅读 · 1 评论 -
代码运行时间测量结果的准确度测试
测试硬件STM32F103RC主频24MHz测试方法示波器测试引脚电平翻转(100M示波器)逻辑分析仪测试引脚电平翻转Keil+J-LINK在线仿真测试perf组件测试1.测试代码如下:DEBUG_GPIO_SET_H();handle_collect_data(); xEventGroupSetBits(get_event_group_handle(), TASK_BIT_HANDLE_DATA);DEBUG_GPIO_SET_L();使用示波器测得用时:8.6us原创 2021-01-13 12:59:16 · 1293 阅读 · 1 评论 -
MAX1480B中文数据手册
完备隔离性、RS485/RS422数据接口 翻译:瓶盖概述:MAX1480B是完备的电气隔离型的RS485/ RS232数据通信接口方案,采用混合微电路结构。由收发器、光耦和变压器构成的完备隔离接口集成在标准的28pin DIP封装内。逻辑侧的+5V电源同时为接口两侧的电路供电。MAX1480B的线摆率驱动器能够最大程度的降低EMI,并降低电缆不良匹配造成的反射,允许以最高250翻译 2010-10-15 19:43:00 · 5741 阅读 · 0 评论 -
IIC总线协议---以存储芯片at24c64为例
IIC总线协议 前言:年前给老师做个红外抄表系统,,现在对当中用到的一些模块总结一下. 1.只有在总线空闲时才允许启动数据传送.2.在数据传送过程中,当时钟线为高电平时,数据线必须保持稳定状态,不允许有跳变.时钟线为高电平时,数据线的任何电平变化将被看做总线的起始或停止信号.3. 任何将数据传送到总线的器件作为发送器任何从总线接收数据的器件为接收器, 主器件和从器件都可以作原创 2010-03-08 14:50:00 · 14185 阅读 · 2 评论 -
VBS脚本知识
1. 处理excel表格dim OExcel '定义变量 不可以在定义变量的时候赋初值 一行结尾无需使用';'dim oExcel,oWb,oSheet '定义多个变量,用','分割set oExcel = CreateObject("Excel.Application") 'set:将对象引用赋给变量或属性oExcel.WorkBooks.Open("D..................原创 2020-03-18 10:50:14 · 1194 阅读 · 1 评论 -
Cortex-M3和Cortex-M4 Fault异常应用之一 ----- 基础知识
注: 本文搬运自我的个人博客,原网址点击打开链接1. 摘要 Cortex-M内核实现了一个高效异常处理模块,可以捕获非法内存访问和数个程序错误条件。本应用笔记从程序员角度描述Cortex-M Fault异常,并且讲述在软件开发周期中的Fault用法。 2. 简介 Cortex-M3(以下简称CM3)和Cortex-M4(以下简称CM原创 2013-03-07 11:21:48 · 50182 阅读 · 0 评论 -
Cortex-M3和Cortex-M4 Fault异常应用之二 ----- Fault处理函数的实现
注: 本文搬运自我的个人博客,原网址点击打开链接 在项目处于调试期间,Fault处理程序可能只是一个断点指令,调试器遇到这个指令后停止程序的运行。默认情况下,由于非硬Fault被禁能,所有发生的非Fault都会上访成硬Fault,因此只要在硬Fault处理程序中设置一个断点,就可以观察所有Fault信息。当使用MDK-ARM的RealView编译器时,你可以用下面的C原创 2013-03-07 14:21:50 · 10742 阅读 · 3 评论 -
Cortex-M3 异常和中断---基于NXP LPC177x/8x
0.前言本文想解决的问题有:如何开启、关闭中断如何开启、关闭异常LPC177x/8x支持的中断优先级个数复位后,异常/中断默认的优先级如何设置异常/中断的优先级什么是优先级组,如何设置优先级组,复位后的优先级组1. Cortex-M3的异常/中断屏蔽寄存器组注:只有在特权级下,才允许访问这3个寄存器。名 字功能描述原创 2013-04-10 08:26:46 · 17065 阅读 · 0 评论 -
LPC177x/8x勘误手册
0.前言版本1:根据官方V3.3版本(2013.2.14)翻译而来,如有疑问,参考官方原版文件只要我还使用LPC177x/8x,本勘误手册就会不断更新1. CPU版本识别LPC177x/8x系列CPU的上表面通常印有如下所示的标识: LPC17xxXXX xxxxxxx xxYYWWR[x] 最后一行的最后一个字符...翻译 2013-04-10 08:19:24 · 4558 阅读 · 0 评论 -
Modbus从机(服务器)通讯设计
摘要:本文在国家标准GB/T 19582-2008的框架下,讨论Modbus协议在串行链路RS485以及TCP/IP上的实现过程和注意事项。涉及到Modbus帧界定、lwip协议栈移植等关键内容,对于难度较大的读写多个线圈命令,本文给出了关键源代码。1. 简介 从1979年开始,Modbus作为工业串行链路的事实标准,Modbus使成千上万的自动化设备能够通信。目前,对简原创 2015-05-19 21:05:02 · 16777 阅读 · 1 评论 -
表面贴装元件的拆卸
今天手工焊接几台样机,不小心将其中一块板子的主CPU的方向弄错了,这块CPU是144引脚的表面贴装器件,已将有不少引脚被焊上.为了将它拆下来,费了不少脑筋,本文参考了论文>,由于这篇论文只有文字描述,所以我有了写一篇图文拆卸表面贴装元件的想法.1.准备一根导线,或者漆包线2.取其中的线芯,注意线芯要有一定的直径,大概和CPU的引脚直径相仿3.将一根线芯穿过CPU的引脚内侧原创 2012-06-06 13:28:23 · 3108 阅读 · 2 评论 -
lpc1778/lpc1788写内部EEPROM的一个注意点
广州致远电子股份有限公司编著的《深入浅出Cortex-M3---LPC178x/177x(下册)》一书中,介绍芯片内置EEPROM 容量为4KB 在使用测试过程中,发现向第63扇区(从0扇区算起)写入数据后,内核抛出总线Fault。 多次查找源代码、勘误手册,均没发现问题所在,最后在读原版《User manual》发现:“4,032 bytes EEPROM on most devices” 后...原创 2014-09-05 14:40:24 · 7783 阅读 · 5 评论 -
keil C51环境下, 某些汉字显示乱码问题
问题描述:使用keil C51编译环境,带字库液晶。发现有些汉字在液晶上无法正确显示: 其中的汉字 "数" 显示乱码,而如果用简体中文编码代替以上汉字,如:在液晶屏上汉字 "数" 是可以正常显示的。其中,汉字 "数" 简体中文编码为:0xca、0xfd。还发现一些汉字,比如 "除" (简体中文编码:0xb3、0xfd)、"三" (简体中文编码0xc8、0xfd)等。这些不能显示的汉字都有一个共同点:简体中文编码的第二个字节都是 0xfd。 这是个很早前遇到的问题,要追溯到我还在大学备战原创 2010-11-01 15:56:00 · 9427 阅读 · 0 评论