自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 音频数据的Flash读取与DAC播放

音频数据的Flash读取与DAC播放原理介绍flash在 STM32 芯片内部有一个 FLASH 存储器,它主要用于存储代码,我们在电脑上编写好应用程序后,使用下载器把编译后的代码文件烧录到该内部 FLASH 中,由于 FLASH 存储器的内容在掉电后不会丢失,芯片重新上电复位后,内核可从内部 FLASH 中加载代码并运行DACDAC 为数字/模拟转换模块,故名思议,它的作用就是把输入的数字编码,转换成对应的模拟电压输出,它的功能与 ADC 相反。在常见的数字信号系统中,大部分传感器信

2021-12-31 17:55:34 1169

原创 STM32+SD卡 的系统原理图设计

STM32+SD卡 的系统原理图设计安装AD将AD压缩包解压点击exe文件进行安装后,按如下操作对AD进行破解,即可安装破解成功。绘制stm32最小版点击file->new->project->PCB project,建立工程右键点击pcb->add new to project->schematic添加元件库找到需要的库开始绘制元件选择stm32f103c8t6选择这个将管脚延长随后将管脚命名最后点击如下按键创建文本,写入自己的

2021-12-25 15:44:08 829

原创 S掌握SD卡协议原理,用STM32F103完成对SD卡的数据读取(fat文件模式)。

S掌握SD卡协议原理,用STM32F103完成对SD卡的数据读取(fat文件模式)。SD卡简介1、存储容量a、标准容量SD存储卡(SDSC): 不大于2GBb、大容量SD存储卡(SDHC): 大于2GB、不大于32GBc、超大容量SD存储卡(SDXC):大于32GB、不大于2TB2、电压范围高电压SD存储卡,电压范围为:2.7 ~ 3.6 V3、SD 存储卡可以用密码保护(CMD42 - LOCK_UNLOCK)4、标准 SD 存储卡的厚度是 2.1mm 或者 1.4 mm5、S

2021-12-25 15:37:23 321

原创 用Clion完成stm32F103 点亮LED

用Clion完成stm32F103 点亮LED下载clion去clion官网下载选择自己的路径下载arm-none-eabi-gcc去官网下载下载openocd去官网下载下载MinGW去官网下载在path中添加路径clion因为安装是勾选过,所以不用添加在cube中操作选择stm32f103c8配置选择点击生成工程在clion中操作点击open打开刚刚cube创建的工程注意这两个的地址将代码添加到此处HAL_GPIO_TogglePin(LED

2021-12-17 23:10:36 90

原创 Ubuntu、stm32下的C程序地址分配

Ubuntu、stm32下的C程序地址分配内存分区栈区(stack)由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。堆区(heap)一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 。它与数据结构中的堆不同,分配方式类似于链表。全局区(静态区)(static)全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量、未初始化的静态变量在相邻的另一块区域。当程序结束后,变量由系统释放 。文字常量区存

2021-12-17 23:04:40 96

原创 keil仿真调试和logic分析

keil仿真调试和logic分析keil仿真创建文件加入代码map 0x40000000, 0x40007FFF read write // APB1map 0x40010000, 0x400157FF read write // APB2map 0x40020000, 0x4007FFFF read write // AHB1map 0x50000000, 0x50060BFF read write // AHB2map 0x60000000, 0x60000FFF read write

2021-12-05 18:33:58 964

原创 STM32基于HAL库移植uCOS-III

STM32基于HAL库移植uC/OS-III配置HAL库将pc13设置为out配置文件创建OSIII文件,放入下载的文件在scr文件下创建OS文件,并放入文件,同时创建3个空白文件bsp.c、bsp.h、app.h调整工程将Src/OS中的bsp.c 和 bsp.h文件添加至 bsp 组中,将 app.c 添加进 Application/User/Core 组中:将OSIII/uC-CPU中的cpu_core.c、cpu_core.h、cpu_def.h添加进uCOSIII_

2021-12-05 18:30:26 654

原创 stm32在OLED上实现显示

stm32在OLED上实现显示了解SPISPI 物理层SPI 通讯使用 3 条总线及片选线,3 条总线分别为 SCK、MOSI、MISO协议层SPI 基本通讯过程SPI工作模式显示静态名字连接方式主要程序int main(void){ delay_init(); //延时函数初始化 NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 OLED_Init(); //初

2021-11-25 22:11:20 3892

原创 stm32用I2C实现温度显示

stm32用I2C实现温度显示了解I2CI2C 物理层它的物理层有如下特点:(1) 它是一个支持设备的总线。“总线”指多个设备共用的信号线。在一个 I2C 通讯总线中,可连接多个 I2C 通讯设备,支持多个通讯主机及多个通讯从机。(2) 一个 I2C 总线只使用两条总线线路,一条双向串行数据线(SDA) ,一条串行时钟线(SCL)。数据线即用来表示数据,时钟线用于数据收发同步。(3) 每个连接到总线的设备都有一个独立的地址,主机可以利用这个地址进行不同设备之间的访问。(4) 总线通过上

2021-11-25 22:08:34 219

原创 串口传输文件和点阵汉字的字模读取与显示

串口传输文件和点阵汉字的字模读取与显示串口传输文件TXD接RXD,TDX发送端口,RDX接收端口发送端注意要点HEX显示不然接收到的是乱码接收端点击保存数据得到DAT文件和TXT文件,DAT改变格式就应该可以看见图片,但是我这看不出来。测试的传送实际时间,比理论时间慢点变成460800bps后发现时间减少可得到大概关系传输时间=文件大小/波特率。点阵汉字的字模读取与显示创建文件夹,并进入在文件夹内加入需要的文件,有很多文件都不用,看代码需要哪些加哪些创建文件,写入代

2021-11-15 21:22:39 283

原创 STM32使用DMA进行通信

STM32使用DMA进行通信cube配置点击add添加在右边system view中,点击DMA,添加MEMTOMEM注意自身keil版本min version要低于自身keil版本keil配置将字符数组赋值给数组,再用函数传给上位机,sizeof计算传送出所需要的长度结果直接打开串口总结DMA串口通信,相较于串口能够更加高效,因为不用占用cpu。...

2021-11-04 21:06:18 274

原创 STM32cube中断方式进行串口通信

STM32cube中断方式进行串口通信cube中的配置路径不能有中文keil中配置添加如下代码缓冲区的大小为10接收完成的标志0未完成,1完成将这个字符串赋值给data数组,这里uint8_t和unsigned char等效将接收成功的信息发送回去,HAL_UART_Transmit函数是将信息传给上位机,参数20是要发送的长度,参数0xffff是发送的超时时间接收中断回调函数结果总结这次的学习了解了中断的方式进行通信,还有许多需要...

2021-11-04 21:03:25 130

原创 STM32cube实现中断

STM32cube实现中断创建工程debug必须要改,不然烧录一次后,芯片无法烧录了hclk设置我试了一下72,还是8没什么太大区别EXTI为外部中断线设置为下降沿触发中断keil中在main函数中添加中断程序/* USER CODE BEGIN 4 */void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){if(GPIO_Pin == GPIO_PIN_0){HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5

2021-11-04 20:59:54 320

原创 STM32实现串口通信和波形显示

STM32实现串口通信和波形显示1在keil中创建工程2代码;RCC寄存器地址映像RCC_BASE EQU 0x40021000RCC_CR EQU (RCC_BASE + 0x00)RCC_CFGR EQU (RCC_BASE + 0x04)RCC_CIR EQU (RCC_BASE + 0x08)RCC_APB2RSTR EQU (RCC_BASE +

2021-10-29 14:42:36 3076 1

原创 STM32使用HAL库实现流水灯

STM32使用HAL库实现流水灯1下载java提供cube环境2使用cube实现代码的生成更新选择合适的参数注意keil的版本,不然生成的代码编译无法通过3在keil中编译在while中加入如下代码,即可实现灯的点亮点灭4代码的实现5总结本次实验熟悉了HAL库,对以后的编程有了很大的帮助...

2021-10-29 14:39:10 656

原创 STM32流水灯

STM32流水灯1STM32F103系列芯片的地址映射和寄存器映射原理STM32 的外设地址映射片上外设区分为三条总线,根据外设速度的不同,不同总线挂载着不同的外设,APB1挂载低速外设,APB2 和AHB 挂载高速外设。相应总线的最低地址我们称为该总线的基地址,总线基地址也是挂载在该总线上的首个外设的地址。其中APB1 总线的地址最低,片上外设从这里开始,也叫外设基地址。寄存器映射学过C语言的同学都知道指针,我们要想取地址中的值必须利用指针,比如GPIOA_OTYPER寄存器的偏移地址为0x04

2021-10-24 20:55:36 189

原创 STM32的C与汇编语言混合编程

STM32的C与汇编语言混合编程调试测试程序1.创建工程2.代码main.cfunc.s3.调试和预期一样R1R2为10将值导入汇编,又从汇编返回c1.代码main.cFunc.s2.跟踪调试main.c函数向.s汇编文件传入数值是前4个分别传入R0 R1 R2 R3其余放入栈,具体流程可以自己设置6个值导入汇编,调试时通过编辑器查看过程。在汇编中引用c1.代码main.cfunc.s2.调试R0=1表明调用成功总结这次的学习对汇编语言有了一些

2021-10-12 20:33:31 62

原创 了解GCC

了解GCCLinux GCC 常用命令1 简介GCC 的意思也只是 GNU C Compiler 而已。经过了这么多年的发展,GCC 已经不仅仅能支持 C语言;它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言,等等。而 GCC 也不再单只是 GNU C 语言编译器的意思了,而是变成了 GNU Compiler Collection 也即是 GNU 编译器家族的意思了。另

2021-10-07 23:03:19 203

原创 在unbuntu下使用opencv

在unbuntu下使用opencv1在ubuntu下安装opencv参考文献ubuntu安装opencv的正确方法_陶陶name-CSDN博客_ubuntu安装opencv注意这里的虚拟库少了一个,在安装好后,使用下面的指令sudo add-apt-repository “deb [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-toSH75G7-1633613388396)(file:///C:\Users\无\AppData\Roaming\Tencent\QQTem

2021-10-07 21:48:13 248 1

原创 使用gcc熟悉静态库和动态库

使用gcc熟悉静态库和动态库1.使用hello练习库hello代码hello.h#ifndef HELLO_H#define HELLO_Hvoid hello(const char *name);#endif//HELLO_Hhello.c#include<stdio.h>void hello(const char *name){printf(“Hello %s\n”,name);}main.c#include"hello.h"int main(){hell

2021-10-07 21:27:14 72

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除