一、生成配置文件在HAL的头文件目录下有一个默认的配置文件stm32f1xx_hal_conf_template.h。在编译HAL代码前,要将这个文件拷贝为stm32f1xx_hal_conf.h,修改部分宏定义,用来修改HAL的全局配置。二、配
一、前言对与MDK-ARM(keil),EWARM(IAR)和TureSTUDIO(Atollic)这三个ARM常用IDE工具,在cube包里都有对应的例子。而对于arm-gcc,cube里只提供了例程的源码。由于需要自己写Makefile,因此比起各种IDE来
一、Adc特性1.1 Adc概述Stm32的Adc具有12位的精度,共有16个外部通道和2个内部通道。不同通道的 A/D 转换可以在单一、连续、扫描或者间断模式下进行。它的其他特性还包括支持模拟看门狗和DMA。1.2 Adc初
一、总览HAL层里的库函数和大家熟悉的stm32lib基本上是一致的。一般来说一个cpu外设的操作函数分成两部分,分别是init和operation。来看一个cube里的例子:static GPIO_InitTypeDef GPIO_InitStruct;in
一、任务的通信方式1.1 共享内存进程间的通信方式有两种,一种是使用共享内存,这种方式基本不依赖OS,也没有相应的系统开销。另一种则需要OS支持,通过建立链接器实现任务间的通信。Message Passing S
一、时间管理1.1 时钟节拍UCOSii通过时钟节拍OSTimeTick()来定期进行任务调度,一般来说这个频率是10-100HZ,频率越高,系统的开销也就越大。1.2 任务延时函数OSTimeDly()任务可以调用OSTimeDly()来对自
一、闲扯之前看完了sdcc man和datasheet之后,用sdcc写了几个小程序。大部分时间都在干一些调式代码的事,就趁这段时间把UCOS复习一下吧。由于这是UCOS的第一篇,就来扯点闲话吧。对于UCOSii,我其实没
一、定时器/计数器1.1 定时器/计数器概述51单片机有两个内置定时器/计数器。当记数脉冲来自于外部输入时,为计算器。而来自于系统时钟时,为定时器。定时器0有四种模式。定时器1支持三种模式,可以被用
一、前言之前花了一点时间阅读了编译器sdcc的man文档,算是对这款交叉编译器有了基本的了解。但要写重新写单片机程序,还要对相应的知识做进一步的复习。下面我将阅读芯片的datasheet和application gui
关于代码效率———————MSP430系列的程序设计准则,有利于提高代码效率。应该指出,这些准则基本上是基于MSP430系列的硬件结构特点而提出的。1.位域类型的执行时很慢的,所以应当在仅仅为了节省数据
SPI总线是Motorola公司推出的三线同步接口,同步串行3线方式进行通信:一条时钟线SCK,一条数据输入线MOSI,一条数据输出线MISO;用于 CPU与各种外围器件进行全双工、同步串行通讯。SPI主要特点有:可以同
第一篇在项目开发中,至关重要的是保证产品运行的可靠,如果遇到异常,能否恢复很重要,而不是像砖头一样,程序死在某个地方。固件升级的原理就是重写向量表,在引导区更新app区的flash,然后跳转app区
最近在搞430的FLASH的自定义法(利用串口)程序烧写,烧写完成后断电复位,reset按键就可以运行新的程序。但是和学长交流了一下,这种方法不够好,希望有一种软复位的方式。于是百度了一下,都是些对看
MSP430升级程序的几点注意事项1、这几天测试写好的IAP升级程序,真是一个糟,能将程序下载进去,但无法运行。经过各种测试,修改终于找到了问题的原因,现在大致总结下我在写IAP程序的时候遇到的问题和
//***************************************************************************** // MSP430-随机数的产生 // 作者:B哥 // Email: cbing2000@163.com // May 2008 // Built with IAR Embedded Work