推荐阅读最新更新时间:2024-03-16 16:07
stm32学习之九
USART之实时显示电压值: 主要是adc.h和adc.c文件的编写(实验的时候写成了add.h和add.c) 调试一上午,出现一个不知道怎么搞的,时钟调错了,RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_ADC1,ENABLE); 调成了APB1,因此只能出现0v等。为戒为戒!!! add.h代码如下: #ifndef _ADD_H #define _ADD_H #include stm32f10x.h void ADC_Configure(); #endif add.c代码如下: #include add.h #define ADC1
[单片机]
STM32—位带操作
STM32中的位带操作: 名字为位带操作,实际上是对位的操作,位操作就是可以单独的对一个比特位读和写,这个在 51 单片机中非常常见。 51 单片机中通过关键字 sbit 来实现位定义, STM32 没有这样的关键字,而是通过访问位带别名区来实现。STM32 的全部寄存器都可以通过访问位带别名区的方式来达到访问原始寄存器比特位的效果,这比 51 单片机强大很多。因为 51 单片机里面并不是所有的寄存器都是可以比特位操作,有些寄存器还是得字节操作,比如 SBUF。 51单片机中的位操作: 51单片机中可以对寄存器实现单个位的操作,靠的就是关键字sbit,如 sbit led=P1^0; led=1;就可实现对P1.0位置1的效果
[单片机]
STM32(Cortex-M3)中优先级的概念
STM32(Cortex-M3)中有两个优先级的概念——抢占式优先级和响应优先级,有人把响应优先级称作'亚优先级'或'副优先级',每个中断源都需要被指定这两种优先级。 具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级的中断可以嵌套低抢占式优先级的中断。 当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之后才能被处理。如果这两个中断同时到达,则中断控制器根据他们的响应优先级高低来决定先处理哪一个;如果他们的抢占式优先级和响应优先级都相等,则根据他们在中断
[单片机]
STM32-IIC模拟从模式
这里是讲的模拟IIC,不是采用硬件IIC。为啥用软件模拟IIC而不用硬件IIC? 除了ST的IIC模块本身问题,还因为硬件IIC移植不方便,在不同的MCU中无法通用;而且有的项目需要在IIC主从模式切换。 网上的资料大部分都是模拟IIC主模式的,很少有资料告诉我怎么实现模拟IIC从模式。 因为特殊要求,我们在做汽车电容屏升级的时候,要扔掉原车屏的一个部件,即IIC从机部分,只保留IIC主芯片,并采用STM32替代被扔掉的IIC从机功能,而且在不同应用内容下,需要切换IIC的主从工作模式。 要实现IIC从机功能,最核心的部分就是如何精确的抓住IIC_SCL,也就是IIC主机发出来的时钟信号。只有抓住精确的时钟SCL,才能正确的读取到
[单片机]
STM32学习—如何选择各个电路部分的主要芯片
电路设计的基本过程一般是这样的:需求分析——元件选型——原理图设计——PCB设计——焊接调试。 ▼需求分析: 在这里,主要是确定小车需要哪些模块、外设或接口。首先,STM32最小系统是必须的,这是小车控制的核心。然后小车的两个轮子需要两个H桥驱动和编码器接口。需要陀螺仪感知小车的姿态(包括倾角,转向角,角速度等)。需要一些调试和指示用的外设(蜂鸣器,LED等)。需要电源电路为系统供电。需要电池电压采集电路来实时采集电池电压,做低压报警,防止电池过放。需要下载接口和调试用的串口。基本就是根据自己想要实现功能,然后确定需要那些部分的电路。 ▼元件选型: 为需要的各个部分电路选择元件,一般来说,主要是选择何种型号、什么封装的芯片
[单片机]
MSP430-GRACE 实战(三):定时器中断
MSP430-GRACE 实战(三):定时器中断 Grace 是 Graphical Code Engine 的缩写,是 TI 为了方便用户开发 MSP430 提供的图形化代码配置工具,但是目前只有部分 MSP430 的型号支持 Grace,如 G2 系列 本系列文章使用 Grace 配置 MSP430 外设,快速实现功能,帮助大家进一步了解 MSP430 文章侧重点是功能的使用,寄存器原理只有部分的阐述,适合有一定基础同学(不论是 STM32还是MSP430基础),深入的原理需要自行探索 工程中有所有实践 Demo 都有通用步骤,熟悉的同学可以直接跳过 一、开发平台 1.1 硬件平台 MSP430G2553 口袋
[单片机]
STM32F10x 学习笔记之基本定时器
大容量的STM32F101xx、STM32F103xx系列和互联型产品中包含了两个基本定时器,TIM6和TIM7。这两个定时器功能非常简单,基本上和SysTick 定时器相当。 但是我在使用的时候确是费了一番周折才调试通过,所以还是应该将这两个定时器的使用方法好好的写一写。 基本定时器TIM6和TIM7各包含一个16位自动装载计数器,由各自的可编程预分频器驱动。简单的说两个定时器是从0计数到N(由自动装载计数器来确定N的具体值),然后复位回0 重新计数。每次复位到0 的时候可以产生对应的中断信号,或者产生DMA 请求,还可以触发DAC 同步电路。不过这次笔记不讨论触发DAC 的问题,等写到DAC 的使用时在讲解如何用这两定时器
[单片机]
一文详解STM32的嘀嗒时钟(SysTick)
简要说明 1概述 嘀嗒时钟(SysTick)是一个简单的系统时钟节拍计数器,它属于Cortex-M4内核嵌套向量中断控制器(NVIC)里的一个功能单元。他是一个24位的倒计时定时器(在NVIC中),当systick计数值到0的时候,SysTick重装载寄存器就会自动重新装载初值。只要SysTick控制和状态寄存器(CTRL)中的使能位没有ENABLE清除掉,那么就会永远的执行下去。 SysTick定时器被捆绑在NVIC中,可产生SysTick异常(异常号:15),属于Cortex-M4内核里的一个功能单元。 SysTick常作为系统节拍定时器用于操作系统(如mCOS-Ⅱ、FreeRTOS等)的系统节拍定时,从而推动任务和时间的
[单片机]