STM32
小白study
这个作者很懒,什么都没留下…
展开
-
STM32+FATFS文件系统连续在同一个txt文件里写入内容
转载于https://blog.csdn.net/qq_16883903/article/details/78432099移植好fatfs文件系统之后,我们经常要在一个txt文件下写入数据,但是这些数据可能需要多次写入,那怎么办呢?通过这几天的学习,有以下函数可以帮助我们进行多次写入数据。1.打开文件f_open(filescr2, "0:/201711022.txt", FA_O...转载 2019-03-11 21:26:11 · 3995 阅读 · 3 评论 -
STM32串口接收不定长数据原理与源程序
http://blog.csdn.net/hyk0601/article/details/51698489今天说一下STM32单片机的接收不定长度字节数据的方法。由于STM32单片机带IDLE中断,所以利用这个中断,可以接收不定长字节的数据,由于STM32属于ARM单片机,所以这篇文章的方法也适合其他的ARM单片机。IDLE中断什么时候发生?IDLE就是串口收到一帧数据后,发生的中断。转载 2017-10-12 21:09:10 · 2448 阅读 · 0 评论 -
STM32F4 UART1 DMA发送和接收不定长度数据
转载于http://blog.csdn.net/louyangyang91/article/details/51504177STM32F4 串口收发使用DMA还是很方便的。但是配置DMA时需要配置数据长度,这一点对于发送来说可以预估计自己发送的长度来配置DMA发送数据长度,但是对于接收不是很好解决,因为如果使用DMA接收中断是要配置的数据长度减到0才能出发中断。但是我们无法判断接受数据转载 2017-10-19 16:36:38 · 6669 阅读 · 2 评论 -
STM32F4 UART DMA初始化
转载于http://m.blog.csdn.net/louyangyang91/article/details/51504559F4的片子内部DMA初始化和F103的有很大区别,在这里引入了数据流(Stream),2个DMA共16的数据流(每个控制器8个),每个数据流则可已处理多达8个通道的数据,每个通道都有一个仲裁器处理DMA请求的优先级。下面贴出DMA请求映射事例在转载 2017-10-19 16:35:22 · 1688 阅读 · 0 评论 -
串口中怎样接收一个完整数据包的解析
http://blog.csdn.net/lpp0900320123/article/details/28239765这里以串口作为传输媒介,介绍下怎样来发送接收一个完整的数据包。过程涉及到封包与解包。设计一个良好的包传输机制很有利于数据传输的稳定性以及正确性。串口只是一种传输媒介,这种包机制同时也可以用于SPI,I2C的总线下的数据传输。在单片机通信系统(多机通信以及PC与单片机通信转载 2017-10-19 16:33:59 · 3223 阅读 · 0 评论 -
十大滤波算法程序大全
转载于:http://blog.csdn.net/qincode/article/details/507270161、限幅滤波法(又称程序判断滤波法)2、中位值滤波法3、算术平均滤波法4、递推平均滤波法(又称滑动平均滤波法)5、中位值平均滤波法(又称防脉冲干扰平均滤波法)6、限幅平均滤波法7、一阶滞后滤波法8、加权递推平均滤波法9、消抖滤波法转载 2017-09-24 20:43:58 · 730 阅读 · 0 评论 -
win10 64位JLink v8固件丢失修复总结
转载于http://blog.csdn.net/hzt12345hf/article/details/50846447以前修复过这个问题,但当时系统是win7 32位,现在用win10 64位不知道能不能修复,所以查资料,修复过程如下:#0.开始前准备工具1.SAM-BA v2.12.exe 用于烧写固件 下载地址:http://download.csdn.net/de转载 2017-07-15 11:33:19 · 1071 阅读 · 0 评论 -
Linux CAN编程详解
转载于http://velep.com/archives/1181.html《Linux CAN编程详解》是一篇百度文库上的文档,主要描述了以下内容:can总线介绍及其帧类型;Linux 系统中CAN 接口配置;Linux 系统中CAN 接口应用程序开发;Linux 系统中CAN 接口编程实例总体来说,这篇文档,对于嵌入式linux can应用编程还是有很大的帮助。转载 2017-06-01 21:15:56 · 583 阅读 · 0 评论 -
《Linux CAN编程详解》
http://blog.csdn.net/reille/article/details/49980469《Linux CAN编程详解》是一篇百度文库上的文档,主要描述了以下内容:can总线介绍及其帧类型;Linux 系统中CAN 接口配置;Linux 系统中CAN 接口应用程序开发;Linux 系统中CAN 接口编程实例总体来说,这篇文档,对于嵌入式linux can应转载 2017-06-01 21:13:19 · 3121 阅读 · 0 评论 -
MDK的编译过程及文件类型全解
http://www.cnblogs.com/firege/p/5806134.html 本章参考资料:MDK的帮助手册《ARM Development Tools》,点击MDK界面的"help->uVision Help"菜单可打开该文件。关于ELF文件格式,参考配套资料里的《ELF文件格式》文件。在本章中讲解了非常多的文件类型,学习时请跟着教程的节奏,打开实转载 2017-04-17 21:52:03 · 6492 阅读 · 5 评论 -
关于STM32中CAN1_RX0_IRQn和CAN1_RX1_IRQn的使用
http://blog.csdn.net/niepangu/article/details/38842073 “如果你用的CAN引脚是PA11和PA12,接收中断用CAN1_RX0_IRQn。如果CAN引脚用的是PB8和PB9,也就是用重定义的引脚,接收中断用CAN1_RX1_IRQn。由于PA11和PA12也是USB的引脚,所以非互联型且带CAN控制器的微控制器的库文件在起名字时用了US转载 2017-03-21 20:24:16 · 7270 阅读 · 2 评论 -
再谈STM32的CAN过滤器-bxCAN的过滤器的4种工作模式以及使用方法总结
http://blog.csdn.net/flydream0/article/details/523175321. 前言bxCAN是STM32系列最稳定的IP核之一,无论有哪个新型号出来,这个IP核基本未变,可见这个IP核的设计是相当成熟的。本文所讲述的内容属于这个IP核的一部分,掌握了本文所讲内容,就可以很方便地适用于所有STM32系列中包含bxCAN外设的型号。有关bxCA转载 2017-03-21 19:48:08 · 448 阅读 · 0 评论 -
STM32之CAN ---CAN ID过滤器分析
转载于http://blog.csdn.net/flydream0/article/details/8148791主要提醒一下CAN_FilterInitStructure.CAN_FilterIdHigh和CAN_FilterInitStructure.CAN_FilterIdLow的设置:最终设置是这样滴:[cpp] view plain copy转载 2017-03-20 15:54:59 · 11277 阅读 · 0 评论 -
stm32f103 c8t6 can
采用stm32F103C8T6 进行调试can通信,硬件连接的为PB8,PB9,而手册为PA11,PA12这个时候如何处理,查看中文参考手册进行端口映射 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOB, ENABLE);原创 2017-03-20 11:00:17 · 6167 阅读 · 0 评论 -
STM32定时器---正交编码器模式详解
转载于http://blog.csdn.net/wang328452854/article/details/50579832编码器分类: 按工作原理:光电式、磁电式和触点电刷式 按码盘的刻孔方式:增量式和绝对式两类 由于博主接触面还不是很广,一共就用过两个种类的编码器,都是属于光电的 差分编码器:一般由8根线连接 信号线分别为 A+ A- B+ B- Z+ Z- 以及VCC转载 2017-03-09 13:44:44 · 15193 阅读 · 5 评论 -
stm32-串口接受不定长数据方法(3种)
http://blog.csdn.net/u014515202/article/details/73293917方法1:串口接受数据,定时器来判断超时是否接受数据完成。方法2:DMA接受+IDLE中断实现思路:采用STM32F103的串口1,并配置成空闲中断IDLE模式且使能DMA接收,并同时设置接收缓冲区和初始化DMA。那么初始化完成之后,当外部给单片机发送数转载 2017-10-12 21:37:23 · 9781 阅读 · 1 评论 -
STM32的串口采用DMA方式接收数据测试
转载于http://blog.csdn.net/jdh99参考链接:http://www.amobbs.com/forum.php?mod=viewthread&tid=5511863&highlight=dma%E6%8E%A5%E6%94%B6环境:主机:WINXP开发环境:MDK4.23MCU:STM32F103CB转载 2017-10-12 21:38:31 · 432 阅读 · 0 评论 -
STM32的低功耗模式
STM32的低功耗模式转载于https://www.cnblogs.com/jieruishu/p/8512963.html一 待机模式standby和STOP模式的区别:进入低功耗模式:都一样,都是先关闭相应时钟,关闭相应外设,配置相应所有IO口(浮动输入),然后配置相应的唤醒中断源,中断影响的O口,然后调用相应函数进入低功耗模式进入低功耗模式函数:打开电源管理时钟,使能唤...转载 2018-09-02 19:59:37 · 795 阅读 · 0 评论 -
算法的时间复杂度和空间复杂度-总结
原文链接:https://blog.csdn.net/zolalad/article/details/11848739只是转载,博主写的很好,正用到。 通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随...转载 2018-05-08 22:06:07 · 401 阅读 · 0 评论 -
BP神经网络-- 基本模型
最近项目需要用到该算法,故觉得不错的博文保留下来,也特此感谢原博主的分享。 http://www.cnblogs.com/jzhlin/archive/2012/07/28/bp.htmlBP 神经网络中的 BP 为 Back Propagation 的简写,最早它是由Rumelhart、McCelland等科学家于 1986 年提出来的,Rumelhart 并在Nature 上发表了一篇非...转载 2018-05-08 22:01:22 · 27396 阅读 · 1 评论 -
神经网络移植到STM32F4上的应用
正在从事智能假肢的课题,需要用到,这篇给我的实现起到到很好的指导意义,特此转载,也特此感谢作者,https://blog.csdn.net/qingelife/article/details/78429508利用颜色传感器读取pH试纸的颜色,然后得到他代表的pH值。一开始想拟合出一个关于RGB和pH的函数,但是总是效果不好。于是利用神经网络来根据RGB判断他的pH值。思路是首先利用MATLAB训练...转载 2018-05-08 21:55:57 · 8020 阅读 · 4 评论 -
ADUM1201在隔离RS232中的应用
http://www.weboch.com.cn/technology/ADUM1201.aspADUM1201在隔离RS232中的应用引言:RS-232是PC机与工业通信中应用最广泛的一种串行接口。RS-232接口最初是由美国EIA(电子工业联合会)规定的用于计算机与终端设备之间通讯的一种标准,目前已被广泛的用于系统间的串行通信线路。RS-232是为点对点(即只用一对收、发设备)通讯而设计的,采...转载 2018-04-19 18:46:04 · 16018 阅读 · 1 评论 -
ADuM1201助我实现串口隔离通信应用
https://ezchina.analog.com/message/13081在工业自动化控制应用中,串口通信非常重要,隔离串口通信更加重要。目前,常用的方案有三个:第一、串口芯片+外部串口隔离器;第二,专用串口隔离芯片+隔离电源,比如ADI的ADM3251;第三,串口芯片+数字隔离器+隔离电源。在实际应用中,前两个方案成本都比第三个方案成本要高一些,所以我在最新的工控板中采用了第三个串口隔离通...转载 2018-04-19 18:44:39 · 13734 阅读 · 1 评论 -
CANOpen服务数据对象报文
https://blog.csdn.net/lushoumin/article/details/79668443SDO是服务数据对象接口(ServiceData Object)的缩写,顾名思义提供服务数据的访问接口,所谓服务数据指一些实时性要求不高的数据,一般是指节点配置参数,因此,SDO一般用来配置和获得节点的配置参数,充当OD对外的接口。SDO基于CS模式,所有报文都需要确认。通常从节点作为...转载 2018-04-19 18:37:59 · 2755 阅读 · 0 评论 -
CANOpen定时器
https://blog.csdn.net/lushoumin/article/details/79613987在CANOpen中,有部分和时间相关的子协议,比如pdo和lifegrd等,这就要求移植的时候实现定时器的底层接口。在timer.h中给出了接口声明[cpp] view plain copy/* 设置定时器重载值 */ void setTimer(TIMEVAL value); ...转载 2018-04-19 18:35:24 · 3086 阅读 · 0 评论 -
STM32硬件错误HardFault_Handler的处理方法
https://blog.csdn.net/electrocrazy/article/details/78173558 在用Keil对STM32的程序进行仿真时程序有时会跑飞,停止仿真程序会停在HardFault_Handler函数里的死循环while(1)中。这说明STM32出现了硬件错误。 STM32出现硬件错误可能有以下原因: (1)数组越界操作; ...转载 2018-04-19 16:42:10 · 8652 阅读 · 0 评论 -
keil MDK开发STM32使用内联函数
https://blog.csdn.net/u010076999/article/details/51006468笔者在做移植时,将Embest IDE环境下的例程移到REALVIEW MDK的过程中,曾经遇到这样一个问题:在生成工程时,编译全部通过,但在链接时提示许多符号未定义!如果读者也遇到过这个问题,请继续看下去,如果链接时提示未定义的变量是一些内联函数(即使用了关键字__inline)。那...转载 2018-04-19 16:06:35 · 3138 阅读 · 0 评论 -
敷铜和网格铜
https://blog.csdn.net/cfxzy/article/details/38932001敷铜作为PCB设计的一个重要环节,不管是国产的青越锋PCB设计软件,还国外的一些Protel,PowerPCB都提供了智能敷铜功能,那么怎样才能敷好铜,我将自己一些想法与大家一起分享,希望能给同行带来益处。 所谓覆铜,就是将PCB上闲置的空间作为基准面,然后用固体铜填充,这些铜区又称为灌铜。敷铜...转载 2018-04-22 21:41:23 · 2452 阅读 · 0 评论 -
error 65: access violation at 0x40021000 : no 'read
http://blog.csdn.net/beready/article/details/24668529开发环境:keil MDK V5.10操作系统:windows 7(32位) 问题描述:使用MDK进行软件设计时没有使用ST官方的模板而是手动建立的工程,使用ST官方提供的3.5版本固件库。编译完全通过,在使用软件仿真时出现问题,表现为程序无法跳转到main转载 2017-12-12 19:49:29 · 912 阅读 · 0 评论 -
最详细易懂的CRC-16校验原理(附源程序)
from:http://www.openhw.org/chudonganjin/blog/12-08/230184_515e6.html 最详细易懂的CRC-16校验原理(附源程序)1、循环校验码(CRC码):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。2、生成CRC码的基本原理:任意一个由二进制位串组成的转载 2017-10-17 15:17:30 · 22742 阅读 · 1 评论 -
STM32空闲中断+DMA解决接收不定长数据问题
http://blog.csdn.net/shu_8708/article/details/73480939串口的中断类型:[cpp] view plain copy#define USART_IT_PE ((uint16_t)0x0028) #define USAR转载 2017-10-12 21:53:57 · 2808 阅读 · 0 评论 -
MDK调试错误之assert_failed
转载于http://www.cnblogs.com/wujichaomx/p/3720728.htmlMDK调试错误之assert_failedUndefined symbol assert_failed (referred from dma.o).链接过程中出现assert_param函数未定义的错误解决方法: 在Options->C/C++->p转载 2017-03-04 21:53:18 · 4154 阅读 · 0 评论 -
CANOpen移植(CanFestival移植)
http://www.cnblogs.com/tdyizhen1314/p/4348666.html在网上下载CanFestival源码最新版本CanFestival-3-884a60cbb83e建立以下文件夹:inc文件夹:放LM3S8962硬件相关以及驱动部分的头文件,adc.h、hw_adc.h等等;Lib文件夹:放集成库文件driverlib.lib,这个需要比较新的,转载 2017-02-18 17:15:34 · 3551 阅读 · 0 评论 -
UART和RS232/RS485的关系是什么?
http://wpp9977777.blog.163.com/blog/static/4625100720138411281980/ 串口通讯是电子工程师和嵌入式开发工程师面对的最基本问题,RS232则是其中最简单最常用的通讯方式。但是初学者往往搞不清有关的名词如UART和RS232或RS485之间是什么关系,因为它们经常被放到语句中同等的位置使用。在百度搜索二者的区别,可以看到排在最转载 2017-01-02 21:51:37 · 11802 阅读 · 0 评论 -
STM32 CAN 通信 滤波设置问题
https://zhidao.baidu.com/question/199668378440177325.html使用的是 32位的标识符屏蔽位模式CAN_FilterIdHigh和CAN_FilterIdLow组合成一个32位寄存器,用来存储将要过滤的IDCAN_FilterMaskIdHigh和CAN_FilterMaskIdLow组合成一个32位寄存器,用转载 2017-01-02 20:35:21 · 3254 阅读 · 0 评论 -
STM32 CAN 通讯 标示符过滤器设置 屏蔽寄存器全1
http://www.51hei.com/stm32/3779.html最近看了下STM32 CAN 通讯 其中标示符过滤器设置大有讲究。特别是你要使用ST库函数时,当过滤器工作在屏蔽模式下,并且你把屏蔽位设了1也就是标示符对应位必须全部匹配才能通过,这是由其要小心。举个例子吧,过滤器长度为32位,模式为屏蔽模式,假如我要发送的标示符为0x1314;那过滤器设置如下一、转载 2017-01-02 20:17:41 · 4456 阅读 · 0 评论 -
STM32之CAN ---CAN ID过滤器分析
http://blog.csdn.net/flydream0/article/details/81487911 前言 在CAN协议里,报文的标识符不代表节点的地址,而是跟报文的内容相关的。因此,发送者以广播的形式把报文发送给所有的接收者。节点在接收报文时,根据标识符(CAN ID)的值决定软件是否需要该报文;如果需要,就拷贝到SRAM里;如果不需要,报文就被丢弃转载 2017-01-02 20:16:33 · 393 阅读 · 0 评论 -
关于STM32 CAN回环可用,正常不可用情况分析
关于STM32 CAN回环可用,正常不可用情况分析http://www.cnblogs.com/whitetiger/p/3811872.html1、回环下应该与GPIO无关 回环下波特率多少都无所谓,但两块板子通信必须保证波特率一致,也就是7的操作2、GPIO是否初始化正确,时钟启用3、是否复用,AFIO时钟是否启用4、回环下是否有CAN_Tx应该有输出5、转载 2017-01-02 18:18:51 · 10698 阅读 · 2 评论 -
调度器学习笔记一:合作式调度器
转载于http://blog.csdn.net/wuhenyouyuyouyu/article/details/53437830最近看了很多关于调度方面的文章,看的云里雾里,现整理如下,还请大神们多多指教。 目前MCU大部分是不上操作系统的,基本都是裸编。也就是说,我们自己要去管理任务的调度,举个大家常用的例子: main() {//初始转载 2016-12-14 14:29:36 · 592 阅读 · 0 评论 -
如何编写一个简单的嵌入式操作系统 (2)时间片轮转
转载于http://blog.csdn.net/zds9204/article/details/18994853上篇日志最后给出了一个最简单的人工调度系统。在实际应用中,人工的调度很常见,但更为普遍的是操作系统自动的任务调度。这篇日志介绍一种最常见的自动调度,即时间片轮转法,在上一节的程序的基础上,添加一些函数,用C语言实现。1.时间片轮转调度时间片轮转调度是一种最古老转载 2016-12-14 14:27:30 · 3394 阅读 · 1 评论