- 博客(37)
- 资源 (14)
- 收藏
- 关注
转载 一步步写STM32 OS【三】PendSV与堆栈操作
一、什么是PendSVPendSV是可悬起异常,如果我们把它配置最低优先级,那么如果同时有多个异常被触发,它会在其他异常执行完毕后再执行,而且任何异常都可以中断它。更详细的内容在《Cortex-M3 权威指南》里有介绍,下面我摘抄了一段。OS 可以利用它“缓期执行”一个异常——直到其它重要的任务完成后才执行动 作。悬起 PendSV 的方法是:手工往 NVIC的 PendSV悬起寄存器中写...
2017-06-30 07:15:01 2639
转载 第五十八章 UCOSII实验1-任务调度
前面我们所有的例程都是跑的裸机程序(裸奔),从本章开始,我们将分3个章节向大家介绍UCOSII(实时多任务操作系统内核)的使用。本章,我们将向大家介绍UCOSII最基本也是最重要的应用:任务调度。本章分为如下几个部分:58.1 UCOSII简介58.2 硬件设计58.3 软件设计58.4 下载验证 58.1 UCOSII简介UCOSII的前身是UCOS,最早出自于199...
2017-06-30 07:14:23 1086
转载 移植ucosii遇到的问题 B OSStartHang
ucosii在STM32rbt6上可以正常地运行,工作需要,我将ucosii移植到STM32F103C8T6,更换了一下启动代码,结果程序 开始调度时就死在那了 OSStart(); 进去后 void OSStart (void) { if (OSRunning == OS_FALSE) { OS_SchedNew(); ...
2017-06-30 07:13:02 1087
转载 如何把UCos-ii_在STM32上的移植
下载代码stm32 标准外设库是 stm32 全系列芯片的外设驱动,有了它可以大大加速我们开发 stm32。首先从 st 公司的网站下载最新的 stm32 标准外设库,写本文时最新的版本是V3.5.0。解压该 zip 文件,得到如下文件夹和文件STM32F10x_StdPeriph_Lib_V3.5.0\ _htmresc Libraries Project Utilities Release_N...
2017-06-30 07:12:36 1712
转载 UCOS-II移植ARM的笔记
UCOS-II移植ARM的笔记(转贴)UCOS-II的移植需要提供2,3个文件分别介绍如下:一:OS_CPU.H1 与编译器有关的数据类型经典的全局变量定义,可以套用,简洁明了实用性好。#ifdef OS_CPU_GLOBALS#define OS_CPU_EXT#else#define OS_CPU_EXT extern#endif 只是按照...
2017-06-30 07:11:10 1296
转载 OSMboxPend()
void *OSMboxPend (OS_EVENT *pevent, INT16U timeout, INT8U *err){#if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */ OS_CPU_SR cpu_sr;#end...
2017-06-30 07:09:31 557
转载 stm32f407之NVIC
中断向量嵌套控制器是用来管理所有中断和事件的,包括中断的使能和除能,中断的优先级。这个是属于内核的东西,所以ST的参考手册上对它的描述较少,但他又是十分重要的东西,要了解它就要看ARM的《Cortex™-M4 Devices Generic User Guide》。 相关寄存器译自《Cortex™-M4 Devices Generic UserGuide》,若有错误,请以原文为准。...
2017-06-30 07:06:24 521
转载 STM32文档中关于NVIC寄存器说明的位置
要使用STM32,需要各种文档,其中有(以STM32F103RBT6为例):st官方资源地址:http://www.st.com/internet/mcu/product/164487.jsp1、datasheet:http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD0016...
2017-06-30 07:05:24 907
转载 STM32笔记记录
串口记录: STM32有好几个串口。比如说STM32F103ZET6有5个串口,串口1的引脚对应的IO为PA9,PA10.PA9,PA10默认功能是GPIO,所以当PA9,PA10引脚作为串口1的TX,RX引脚使用的时候,那就是端口复用。 复用端口初始化有几个步骤: 1) GPIO端口时钟使能。要使用到端口复用,当然要使能端口的时钟了。 RCC_APB2PeriphClockC...
2017-06-30 07:04:36 203
转载 牛人对STM32的NVIC_PriorityGroupConfig使用及优先级分组方式理解
STM32有43个channel的settable的中断源;AIRC(Application Interrupt and Reset Register)寄存器中有用于指定优先级的4 bits。这4个bits用于分配preemption优先级和sub优先级,在STM32的固件库中定义如下/* Preemption Priority Group ---------------------------...
2017-06-30 07:03:52 790
转载 STM32学习笔记之ADC
STM32学习笔记之ADC程序功能是把ADC1模块里通道14的输入电压转换后通过USART2发送到PC,在PC机上用串口调试助手观察接收数据STM32是12位ADC,测量结果基本还可以!程序用了DMA来传输ADC转换值,调高了读取速度。串口部分用是上一篇串口调试笔记里的代码。/*******************************************************...
2017-06-30 07:02:29 407
转载 stm32 adc 采样率
STM32的ADC的采样时间及模拟信号的最大带宽。请看STM32技术参考手册的16.2节,和STM32F103xx数据手册的5.3.17节表44。可以在ST的中文网站下载到上述2个手册: [url=http://www.stmicroelectronics.com.cn/stonline/mcu/MCU_Pages.htm]http://www.stmicroelectronics.com.cn/...
2017-06-30 07:01:29 12197 1
转载 stm32通用定时器
STM32的定时器是个强大的模块,定时器使用的频率也是很高的,定时器可以做一些基本的定时,还可以做PWM输出或者输入捕获功能。时钟源问题:名为TIMx的有八个,其中TIM1和TIM8挂在APB2总线上,而TIM2-TIM7则挂在APB1总线上。其中TIM1&TIM8称为高级控制定时器(advanced control timer).他们所在的APB2总线也比APB1总线要好。...
2017-06-30 06:59:59 314
转载 STM32-通用定时器基本定时功能
STM32-通用定时器基本定时功能 跟着项目走很多东西学的都都点混乱,基本上是用什么看什么,也没有个基本的章法,今天用了定时器,看到个说的比较不错的,转载如下:原文地址:http://blog.sina.com.cn/s/blog_49cb42490100s6ud.html ...
2017-06-30 06:58:58 2479
转载 STM32定时器溢出模式设置
环境: 主机:WIN7 开发环境:MDK4.23 MCU:STM32F103CBT6 源代码1: 说明:定时器采用TIM2,时钟源为内部8M晶振,向上溢出模式.此定时器用在延时函数,最小可以延时1us,故没有采用中断形式定时. 初始化代码: [cpp] view plaincopy 1. RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENAB...
2017-06-30 06:58:37 2187
转载 系统的时钟可以有3个来源 - 工程师STM32单片机学习基础
系统的时钟可以有3个来源:内部时钟HSI,外部时钟HSE,或者PLL(锁相环模块)的输出。它们由RCC_CFGR寄存器中的SW来选择。 SW(1:0):系统时钟切换 由软件置’1’或清’0’来选择系统时钟源。 在从停止或待机模式中返回时或直接或间接作为系统时钟的HSE出现故障时,由硬件强制选择HSI作为系统时钟(如果时钟安全系统已经启动) 00:HSI作为系统时钟; 01:HSE作...
2017-06-30 06:57:08 5816
转载 关于STM32外接12MHz晶振的处理办法
关于STM32外接12MHz晶振的处理办法http://www.amobbs.com/thread-4478412-1-1.html(出处: amoBBS 阿莫电子论坛)由于STM32F10x库官方采用的是默认的外接8MHz晶振,因此造成很多用户也采用了8MHz的晶振,但是,8MHz的晶振不是必须的,其他频点的晶振也是可行的,只需要在库中做相应的修改就行。 在论坛上看到很多用户反...
2017-06-30 06:54:50 1193
转载 CAN波特率计算的内幕
Can控制器器只需要进行少量的设置就可以进行通信,就可以像RS232/48那样使用。其中较难设置的部分就是通信波特率的计算。CAN总线能够在一定的范围内容忍总线上CAN节点的通信波特率的偏差,这种机能使得CAN总线有很强的容错性,同时也降低了对每个节点的振荡器精度。实际上,CAN总线的波特率是一个范围。假设定义的波特率是250KB/S,但是实际上根据对寄存器的设置,实际的波特率可能为200~30...
2017-06-29 07:37:33 1211
转载 STM32之CAN---配置波特率
1 位时间特性 为了掌握如何设置STM32 CAN的波特率,首先我们得先了解一下位时间特性。 位时间特性逻辑通过采样来监视串行的CAN总线,并且通过跟帧起始位的边沿进行同步,及通过跟后面的边沿进行重新同步,来调整其采样点。它的操作可以简单解释为,如下所述把名义上的每位的时间分为3段:● 同步段(SYNC_S...
2017-06-29 07:36:17 542
转载 STM32的CAN总线使用指南
CAN基本知识: CAN协议的特点: 1、 多主机控制。在总线空闲时,所有单元都可以发送消息,若两个以上同时开始发送消息,根据标识符来决定优先级。优先级高的先发送。 2、 系统的若软性。与总线相连的单元没有类似地址的信息。因此在总线上增加单元时,应用层程序基本不需要改变。 3、 通信速度快,通信距离远。最高1Mbps(距离小于40M),最远可达10Km(速率低于5Kbps)。 4、 具...
2017-06-29 07:35:18 1598
转载 CAN波特率设置时的参数计算
CAN(Controller Area Network)总线最早由德国 BOSCH公司提出,主要用于汽车内部测量与控制中心之间的数据通信。由于其良好的性能,在世界范围内广泛应用于其他领域当中,如工业自动化、汽车电子、楼宇建筑、电梯网络、电力通讯和安防消防等诸多领域,并取逐渐成为这些行业的主要通讯手段。 Can控制器器只需要进行少量的设置就可以进行通信,其中较难设置的部分就是通信波特率的计算。CAN...
2017-06-29 07:34:04 3309
转载 STM32F103的CAN 通信之通讯协议
CAN总线的通信模式CAN是一种有效支持分布式控制[3]或实时控制的串行通信网络,可实现全分布式多机系统;可以用点对点,一点对多点以及全局广播几种方式传送和接受数据;CAN总线直接通信距离最远可达10Km(此时传输速率可能达到5Kb/s),通信速率最高可达1Mb/s(此时传输距离可能达到40m);且理论上CAN总线通信网络的节点数不受限制(实际上受CAN收发器芯片驱动能力的限制)。CAN总线...
2017-06-29 07:32:50 5293
转载 STM 32 之can 实例+代码解析
#include "sysdef.h" #define MAX_MAIL_NUM 3 //CAN总线调试:0=运行 1=自环调试 #define CAN_DEBUG 0 //CAN总线波特率:0=250kbps,1=500kbps,2=1Mbps #define CAN1_BPS 0 unsigned char can1_addr = 0; un...
2017-06-29 07:30:19 930
转载 stm32之can总线过滤器研究
stm32的can总线的配置如下: CAN_InitStructure.CAN_TTCM=DISABLE;//禁止时间触发通信模式 CAN_InitStructure.CAN_ABOM=DISABLE; CAN_InitStructure.CAN_AWUM=DISABLE; CAN_InitStructure.CAN_NART=DISABLE...
2017-06-29 07:28:58 307
转载 CAN总线波特率计算方法
Can控制器器只需要进行少量的设置就可以进行通信,就可以像RS232/48那样使用。其中较难设置的部分就是通信波特率的计算。CAN总线能够在一定的范围内容忍总线上CAN节点的通信波特率的偏差,这种机能使得CAN总线有很强的容错性,同时也降低了对每个节点的振荡器精度。实际上,CAN总线的波特率是一个范围。假设定义的波特率是250KB/S,但是实际上根据对寄存器的设置,实际的波特率可能为20...
2017-06-29 07:27:56 19588 1
转载 STM32里CAN总线的问题
小弟是一名新手,对CAN里的通信的ID和屏蔽码还有验收码搞不懂,求大大们指导! 发送程序中的stdid是不是只要和接收程序中过滤器的id一样就行了,还是说过滤器的id是经过一定的协议转换以后得到的?? CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0000; CAN_FilterInitStructure.CA...
2017-06-29 07:25:53 723
转载 stm32f407之CAN控制器(操作寄存器)
CAN控制器 首先简单介绍一下CAN总线,关于CAN总线是谁发明的,CAN总线的历史,CAN总线的发展,CAN总线的应用场合,这些,通通不说。这里只是以我个人理解,简单说说CAN通信。CAN总线的端点没有地址(除非自己在帧里定义地址),CAN总线通信不用地址,用标识符,不是单独的谁发给谁,而是,你总是发送给整个网络。然后每个节点都有过滤器,对网...
2017-06-29 07:24:34 1013
转载 stm32之can总线过滤器研究
stm32的can总线的配置如下: CAN_InitStructure.CAN_TTCM=DISABLE;//禁止时间触发通信模式 CAN_InitStructure.CAN_ABOM=DISABLE; CAN_InitStructure.CAN_AWUM=DISABLE; CAN_InitStructure.CAN_NART=DISABLE;//...
2017-06-29 07:23:12 334
转载 【ALIENTEK 战舰STM32开发板例程系列连载+教学】第三十章 CAN通信实验
本章我们将向大家介绍如何使用STM32自带的CAN控制器来实现两个开发板之间的CAN通讯,并将结果显示在TFTLCD模块上。本章分为如下几个部分: 30.1 CAN简介 30.2 硬件设计 30.3 软件设计 30.4 下载验证 30.1 CAN简介 CAN 是Controller Area ...
2017-06-29 07:22:30 4018
转载 stm32深入浅出——由GPIO谈谈寄存器配置
相信大家对GPIO的配置并不陌生,只需简单的几个库函数就能完成。而本菜今天要讲的不是怎么用这些库函数,而是要讲讲这些库函数是怎么工作的。本菜留意了下,无论是网上还是书籍,涉及这方面的知识很少,直接抄了使用手册就上了。那么本菜在这里就详细讲一讲,做些补充,希望能帮助到大家。 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;GPIO_InitStructu...
2017-06-29 07:20:24 88834 3
转载 Stm32f10x 新建工程详解
环境:STM32F10x 3.5固件库。下载地址http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f10x_stdperiph_lib.zipMDK4.23 编译器 一、第一步新建工程 取名 NewProject图1二、选择芯片型号图2三、点否,不加...
2017-06-29 07:19:05 692
转载 如何在STM32F10x_StdPeriph_Template基础上建立自己的MDK工程
在网上下载完毕STM3210x的库文件后,对其进行解压,里面有四个文件夹,以STM32F10x_StdPeriph_Lib_V3.5.0为例如下图所示: 图1 库文件解压后包含的文件夹其中,_htmresc文件夹是ST公司的图标,没用可以删除,而Release_Notes则是一个介绍该库文件相比之前版本有何改动的内容,新手可以忽略这个,而stm32f10x_stdperiph_l...
2017-06-29 07:18:07 419
转载 kinetis时钟模块MCG详解
MCG模块详解一、MCG模块简介 MCG成为多用途时钟信号发生器,该模块为MCU和芯片内部各个模块提供时钟信号。MCG模块通过对输入的参考时钟进行分频和倍频处理,可以输出各种频率的时钟信号,并达到超频运行的目的。输入的参考时钟可以来自内部也可以来自外部时钟或外部晶振。输入的参考时钟一般经过分频后进入FLL(锁频环)或PLL(锁相环)进行倍频处理,当然也可以不通过FLL或PL...
2017-06-29 07:01:33 534
转载 玩转飞思卡尔在线调试工具FreeMaster
FreeMaster(以前叫PC-Master)是飞思卡尔为嵌入式系统开发的运行在PC机上的图形化在线调试工具,最初是方便在线实时调试电机应用而开发的(所以说飞思卡尔的汽车电子这么NB呢,连调试工具都这么NB,哈哈),只不过后来大家都发现了它的好用,所以才在各个领域上发展起来(跟Matlab的发展史有点像,呵呵)。前段时间在写关于Codewarrior10.2的应用时,我还曾经抱怨过飞思卡尔裁剪掉...
2017-06-29 06:59:56 9638 3
转载 关于一个程序的“开始——暂停——继续”的一个问题
关注 lsq19871207 信阳毛尖 本版等级: 结帖率:100% 楼主发表于: 2011-04-11 21:05:47 要实现的功能就像360扫描一样,单击“开始”按钮,开始执行,此时按钮的Caption改变为“暂停”,再次单击这个按钮,程序接着上次暂停的地方继续执行。 在我的程序中,...
2017-06-29 06:58:17 2907
转载 基于飞思卡尔微控制器的CAN Bootloader的实现与应用
1引言Bootloader又称引导加载程序, 它是系统加电后运行的第一段软件代码, 它能实现用户程序的引导启动和固件自更新两个功能。其中固件自更新需要向芯片提供额外的数据传输介质使得芯片能将接收到的机器代码写入自身的Flash中。传统的方法是使用UART或J1850等廉价的低速通信接口实现Bootloader的更新功能, 对于飞思卡尔芯片来说, 通常还可以使用P&E或BDM 等专门的烧...
2017-06-29 06:55:04 2340
转载 51单片机特殊功能寄存器(SFR)介绍
1、21个寄存器介绍 51系列单片机内部主要有四大功能模块,分别是I/O口模块、中断模块、定时器模块和串口通信模块(串行I/O口),如其结构和功能如下图: 图1 51单片机结构和功能图 51单片机掌握的好坏,其实就是能否正确操作这四个功能模块,而其操作的实质则又是能否对每个模块所对应寄存器的正确操纵。所以下面重点介绍一下51系列单片机内部的特殊功能寄存器(简称SFR...
2017-06-29 06:52:51 23892 6
opencv4.9.0+contrib-3rdparty ffmpeg、ippicv boostdesc、vgg-gener下载
2024-05-25
opencv 安装时,自动下载的库,boostdesc、vgg-generated、ippicv-2020-lnx-intel6
2023-12-20
arm-linux-gcc-4.3.2-2.tgz
2017-05-29
arm-linux-gcc-4.3.2-1.tgz
2017-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人