推荐阅读最新更新时间:2024-03-16 15:42
STM32学习—系统中断
中断配置步骤 设置优先级分组可调用库函数 NVIC_PriorityGroupConfig(),在 misc.c可以查看。 要使用中断我们就需要先配置它,通常都需经过这几步: (1)使能外设某个中断 (2)设置中断优先级分组,初始化 NVIC_InitTypeDef 结构体 typedef struct { uint8_t NVIC_IRQChannel; //中断源 uint8_t NVIC_IRQChannelPreemptionPriority; //抢占优先级 uint8_t NVIC_IRQChannelSubPriority; //响应优先级 FunctionalState N
[单片机]
STM32 CRC寄存器操作
//CRC.C /*************************************************************************************************/ /* STM32 CRC */ //20120427 #include stm32f10x_map.h #include system.h #include crc.h /************************************************************************************************************************* *
[单片机]
【STM32】实战2—用STM32产生PWM信号驱动舵机MG996R(一)
1 实验预期效果 完成舵机的90度旋转(不通过串口控制)。 2 硬件学习 2.1 舵机MG996R 某宝店家提供资料如下: 【注:上图中左右所取0度参考位置不同,后文以左侧为准】 根据对应数值可得脉冲宽度与转动角度的关系式为:脉冲宽度 = 0.5 + 角度值A / 90° 所以可得占空比公式:占空比 = (0.5 + A / 90) / 20 有博客舵机使用笔记(mg996 + stm32角度控制代码)_广东老周的博客-CSDN博客_mg996r舵机控制归纳如下: ① PWM信号周期:20000us; ② 0度时,高电平时长:500us;
[单片机]
STM32系列命名规则
STM32系列命名规则:每种STM32的产品都由16个字母或数字构成的编号标示,用户向ST订货时必须使用这个编号指定需要的产品。这16个字符分为8个部分,下面通过一个例子说明它们的意义: STM32 F 103 C 6 T 7 xxx 1 234 5 6 78 第1部分:产品系列名,固定为STM32 第2部分:产品类型;F表示这是Flash产品,目前没有其它选项 第3部分:产品子系列;103表示增强型产品,101表示基本型产品 第4部分:管脚数目; T=36脚 C=48脚 R=64脚 V=100脚 Z=144脚 第5部分:闪存存储器容量: 6=32K字节 8=64K字节
[单片机]
STM32启动文件详解——startup_stm32f10x_xx.s
一、启动文件的作用 (关于启动代码的作用,前面已经提到过了,这里再啰嗦一下) (1)初始化堆栈指针 SP; (2)初始化程序计数器指针 PC; (3)设置堆、栈的大小; (4)设置异常向量表的入口地址; (5)配置外部 SRAM作为数据存储器(这个由用户配置,一般的开发板可没有外部 SRAM); (6)设置 C库的分支入口__main(最终用来调用 main函数); (7)在 3.5版的启动文件还调用了在 system_stm32f10x.c文件中的SystemIni()函数配置系统时钟。 二、启动文件中提到的汇编指令 指令 作用 EQU 给数字常量取一个符号名,相当于 C 语言中的 define AREA
[单片机]
STM32_ADE7758驱动
/* * ade7758.c * * Created on: 2014年10月11日 * Author: Lzy */ //#include rtthread.h #include ade7758.h #include sys.h #define ADE_CS_PIN PBout(12) #define ADE_RCC RCC_APB2Periph_GPIOB #define ADE_GPIO GPIOB #define ADE_PIN (GPIO_Pin_12) unsigned char bWorkModel=0;//工作模式标志位 1:校准模式;0:正常工作模式; unsig
[单片机]
STM32固件库实现led亮灭闪烁和音频发生器设计
概述 本文使用STM32F10X,软件为Keil uVision5,仿真软件Proteus 8 Professional 电路图 8个led亮灭实现代码 实现代码 //8¸öledÈ«ÁÁÈ«Ãð #include stm32f10x.h int main() { GPIO_InitTypeDef star; //配置开启GPIO时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //设置GPIO输出模式 //stm32F1提供了4种输出模式(推挽输出、开漏输出 、复用推挽输出 、复用开漏输出)和3种输出速度;一般配置LED采用推挽输出;
[单片机]
一种单片机虚拟实验室的建立方法
0 引 言 单片机的学习是一个实践性很强的过程,目前的单片机实验室基本采用硬件仿真设备搭建,受资金和场地的限制,单片机实验室配置的灵活性和完整性受到一定的限制。针对这些问题,在此提出一种建立基于个人PC和各种软件的单片机个人虚拟实验室方案。所谓“虚拟实验室”,就是将计算机上的各种虚拟仪器,按实验要求和设计原理,虚拟出与现实相同的实验系统,进而在这个系统上完成整个实验。与传统实验模式相比,虚拟实验具有比较明显的优势,例如,涉及的实验内容全面,硬件投入少,学生可自行实验,实验过程中损耗小,与工程实践最为接近等。一般的虚拟实验室仅包含单片机系统的调试,本文在此基础上又加入了与上位机的联合调试。 在此,以使用VB通过RS
[单片机]