
stm 32
菠萝皮卡丘!
经历的意义在于引导你而非定义你
展开
-
source insight 4 函数无法跳转
软件设置原创 2023-02-12 14:28:34 · 1849 阅读 · 0 评论 -
通信概念扫盲
串口通信并行通信串行通信并行通信是将数据字节的各位通过多条数据线同时进行传输 每一位数据线就需要一条传输线 此外还需要一条信号线 和多条控制信号线 一个字节的数据得需要八条信号线具有传输数据快的 控制简单的特性 但是由于传输线多 长距离收发困难的缺点 现在最多使用的是串行通信串行通信是将数据字节封分成一位一位的形式在一条传输线上逐个传输 只需要一条数据传输线 和一条公共信号线 和若干控制信号线 但是一次只能传输一位 ,一个字节的数据得传送原创 2022-01-17 22:51:32 · 1407 阅读 · 0 评论 -
32 配置两个串口透传 中断函数配置
本文主要是记录 在中断函数内部怎么进行配置 (基于寄存器编写)void USART1_IRQHandler(void) //串口1中断服务{ if(USART1->SR & (1<<5)) //接收到数据 { USART2->DR = USART1->DR; //向串口2发送 }else if(USART1->SR & 0x40){ //发送一字节完成 USART1->SR &= ~0x40;//清发送完成标志原创 2021-10-07 23:15:52 · 4006 阅读 · 2 评论 -
stm32 printf重定向 无法输出问题
我明明 重定向了fputc 函数 但是无法在串口助手 输出内容最后发现 不只是需要重定向fputc 函数 还需要配置魔术棒需要勾选这个Use Micro LIB然后重新编译 下载进去 串口助手就能正常显示我的数据了...原创 2021-10-07 23:07:36 · 1003 阅读 · 2 评论 -
STM32 STLINK的使用以及一些错误的解决方案
"flash download failed - Target dll has been cancelled"错误解决办法1 下载st-link utility并安装,选择Target->Connect会提示下面的错误Can not connect to target!Please select “Connect Under Reset” mode from Target->Settings menu and try again.2 选择Target->Settings,Mode原创 2021-10-02 15:41:51 · 6783 阅读 · 0 评论 -
STM32 中断时间计算
定时中断发生的时间T:T = (arr+1)*(psc+1)/72MT=1/f 32的tclk已知 我们可以直接用这个tclk 去除我们设定的分频系数(psc+1) 也就是把tclk 分成了(psc+)份 这个分频系数的范围在1~65535 这样得到tclk/(psc+1)也就得到了定时器最终的频率我们在倒过来 得到我们的周期(psc+1)/tclk 在乘上我们的装载值 也就得到我们想要的时间了...原创 2021-09-08 18:07:24 · 2446 阅读 · 1 评论 -
STM 32 定时器输出 PWM
我们通过TIM3 输出PWM 去驱动 SG90电机配置如下1.GPIO结构体2.配置通用定时器结构体3.配置定时去输出PWM结构体4.打开时钟 —> GPIO时钟,TIM定时器时钟,部分重映射时钟5.配置PWM比较值一 我们使用定时器3 通道2 重映射之后为PB5 GPIO_InitTypeDef GPIO_motorstruct; GPIO_motorstruct.GPIO_Mode =GPIO_Mode_AF_PP; GPIO_motors原创 2021-05-06 16:47:25 · 136 阅读 · 0 评论 -
KEIL5工具栏的设置
由于手贱 导致工具栏 被直接搞成悬浮的了百度了好久 终于是发现一个可以用的办法如果是图片的这种情况 我们点击右键 将状态选择为floating 应该是这个 选择和这个单词形状差不多的就行然后直接按下面的办法 就ok了就是直接点击工具栏 保证它处于可以移动的状态 然后我们能发现 界面上会出现几个小箭头 直接拖到小箭头的位置就可以了亚斯莫拉...原创 2021-04-26 00:58:53 · 4136 阅读 · 0 评论 -
STM 32 串口中断设置
我们基于之前的串口配置的那篇文章 来完成今天使用串口中断来控制led 灯的亮灭首先我们要知道为什么要使用中断使用中断 能高效的去执行程序,不会一直占用MCU的资源。对于中断的介绍 可以看我之前关于中断的那篇文章开始进入正题我们如何配置串口中断由于之前我们已经在user 这个文件夹下添加过这个文件了所以我们直接在配置串口的那一个文件下 进行配置首先 我们先配置 NVIC_InitTypeDef 这个结构体uint8_t NVIC_IRQChannel; 中断分组uint8_t NVI原创 2021-04-24 23:02:47 · 607 阅读 · 0 评论 -
stm 32串口的学习
串口的基本配置 (使用固件库)根据这图我们可以知道 stm32 至少会有3个串口由于自己是使用串口一 所以配置的为usart11 时钟使能(用到哪个串口`和GPIO要把相应的时钟开启)2 串口复位;(一般在系统刚开始配置外设的时候,都会先执行复位该外设的操作。)3 GPIO口配置;4 串口参数配置;5 根据需要开启中断下面的代码部分一 时钟使能由于UART的TX和RX和AFIO都挂在APB2桥上,因此采用固件库函数RCC_APB2PeriphClockCmd()进行初始化。UAR原创 2021-04-24 19:23:53 · 212 阅读 · 0 评论 -
stm 32 串口通信
本篇文章主要是 解决自己对串口通信校验方式的一些疑惑文章主要是对奇偶校验位 进行分析首先我们得对串口数据包的基本组成 有一个大概的了解1.起始位 :由一个逻辑0的数据位表示(第一个低电平)2.结束位 :由 0.5,1,1,5,2个逻辑的数据位表示(高电平)3.有效数据位:紧跟着起始位的就是有效数据位,长度为5,6,7或8位长4.校验位 :可选,目的为数据抗干扰性,校验方式 :奇偶校验需要一位校验位,即使用串口通信的方式2或方式3(8位数据位+1位校验位)。奇校验(odd parity原创 2021-04-22 22:04:59 · 272 阅读 · 0 评论 -
STM 32 外部中断
什么是外部中断 :外部中断是单片机实时地处理外部事件的一种内部机制。当某种外部事件发生时,单片机的中断系统将迫使CPU暂停正在执行的程序,转而去进行中断事件的处理;中断处理完毕后.又返回被中断的程序处,继续执行下去中断的功能 :(1)实时处理功能:在实时控制中,现场的各种参数、信息均随时问和现场而变化。这些外界变量可根据要求随时向CPU发出中断申请.请求CPU及时处珲中断请求,如中断条件(2)故障处理功能:针对难以预料的情况或故障,如掉电、存储出错、运算溢出等,可通过中断系统由故障源向CPU发出中断原创 2021-04-18 20:30:42 · 372 阅读 · 0 评论 -
STM32练手项目 震动感应灯
这是一个调库的成品编译环境 keil 5 固件库材料:stm32f103C8t6 继电器 震动感应模块usb转TTL usb 灯 一些杜邦线接线剪开usb 灯 里面 有两条线 一条红色一条白色红色 连接到继电器的常开端白线 连接板子的gnd继电器的NI 连接到 板子的A3GND 连接到GNDVCC 连接到板子的3.3v公共端 连接到 3.3v震动模块 vcc 接3.3 或者5vGDN 接GNDDO 连接到板子的原创 2021-04-18 01:24:23 · 726 阅读 · 0 评论 -
STM32 构建库函数
由于自己的粗心大意 导致构建库函数 这一个简单的事 弄了好几个小时所以我决定把这个配置的过程记录下来我们按照这个逻辑来 就没有啥问题前面构建工程过程 就不多赘述新建文件夹 点击鼠标右键 选择add grup长按 可以修改文件夹的名字然后就是从已经有的固件库中导入文件STRATUP 只需要选择 那个stm32f10x_ hd.s 结尾的配置成这样就可以了然后我们选择编译会发现出现error 但是千万不要慌为什么呢 原因就是 就是我们锤子还没完成配置点击锤子 选原创 2021-04-17 00:54:09 · 239 阅读 · 0 评论