- 博客(21)
- 收藏
- 关注
原创 基于STM32f103c8t6音频数据的Flash读取与DAC播放
一、Flash原理Flash数据读取和保存的目的是在单片机的程序存储区开辟一块空间专门用来保存系统需要记忆的参数和数据,从而完全取代EEROM,达到降低成本和数据保密的目的。该实现方法主要分为四个部分: FLASH数据的读取 FLASH数据的设定 FLASH数据的保存 FLASH空间的擦除 其中,数据的读取和保存方法需要根据数据的配置格式来确定,这里我们是这样定义的: 数据格式的定义 数据长度:8BIT/16BIT/32BIT 起始标志:0xA
2021-12-31 16:29:21
669
原创 STM32对SD卡数据读取和在Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的分配地址的对比分析
二、实验操作1、实验器材:SD模块及SD卡,STM32f103c8t6,杜邦线若干,电源线一根2、硬件连接:stm32 SD卡模块 PA4 SDCS PA5 SCK PA7 MOSI PA6 MISO VCC VCC GND GND 3、HAL库配置(stm32CubeMX)设置RCC,SYS,在以往博客都有,不在此陈述。4、完整代码分析完整代码链接:http...
2021-12-25 21:01:09
426
原创 Clion源码编辑器的学习与实践——点亮LED
一、Clion安装1、下载clion2、安装运行clion3、安装arm-none-eabi-gcc4、安装openocd5、安装MinGW6、添加系统环境变量二、配置Clion三、实现工程四、烧录程序五、总结六、参考...
2021-12-17 22:36:43
333
原创 实时操作系统(RTOS),以uc/OS-III为例,将其移植到stm32F103上
一、uc/OS-III简介UCOSIII是一个可裁剪、可剥夺型的多任务内核,而且没有任务数限制。UCOSIII提供了实时操作系统所需的所有功能,包括资源管理、同步、任务通信等。前后台系统早期嵌入式开发没有嵌入式操作系统的概念 ,直接操作裸机,在裸机上写程序,比如用51单片机基本就没有操作系统的概念。通常把程序分为两部分:前台系统和后台系统。简单的小系统通常是前后台系统,这样的程序包括一个死循环和若干个中断服务程序:应用程序是一个无限循环,循环中调用API函数完成所需的操作,这个大循环就叫做后台系
2021-12-06 22:01:38
3143
2
原创 基于STM32的0.96OLED显示文字及stm32通过I2C接口实现温湿度(AHT20)的采集
一、SPI(串行外设接口)简介1、串行外设接口(SPI)是微控制器和外围IC(如传感器、ADC、DAC、移位寄存器、SRAM等)之间使用最广泛的接口之一2、SPI接口SPI是一种同步、全双工、主从式接口。来自主机或从机的数据在时钟上升沿或下降沿同步。主机和从机可以同时传输数据。SPI接口可以是3线式或4线式。2、4线SPI器件有四个信号:► 时钟(SPI CLK,SCLK)► 片选(CS)► 主机输出、从机输入(MOSI)► 主机输入、从机输出(MISO)产生时钟信.
2021-11-26 22:19:10
1942
原创 两台电脑串口通信
目录一、实验二、总结一、实验1.实验准备:两台电脑,串口调式助手,USB转串口线,杜邦线。硬件连接3v 3V GND GND TXD RXD RXD TXD 2.打开串口调式助手,选择要发送的文件,我选择的是一张图片3、发送完成。计算预计传输时间理论时间=(文件大小*8)/波特率那么上面的压缩包理论传输时间为3.176秒,实际时间为7.20秒。实际传输时间比理论传输时间要长一些,分析原因,可能是传输时,每..
2021-11-15 20:11:27
1407
原创 虚拟机下点阵汉字的字模读取与显示
目录一、汉子点阵字库原理二、实验三、总结四、参考一、汉子点阵字库原理(1) 汉字编码1. 区位码在国标 GD2312—80 中规定,所有的国标汉字及符号分配在一个 94 行、94 列的方阵中,方阵的每一行称为一个“区”,编号为 01 区到 94 区,每一列称为一个“位”,编号为01 位到 94 位,方阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个阿拉伯数字就是它们的“区位码”。 区位码的前两位是它的区号,后两位是它的位号。 用区位码就可以唯一地确定一个汉
2021-11-15 19:32:44
705
原创 STM32CubeMX安装与应用
一、搭载stm32的开发环境即安装STM32CubeMX1、安装jdk由于STM32CubeMX是Java实现的,需要安装jdk环境.下载地址:Java Downloads | Oracle2、安装stm32CubeMXSTM32CubeMX - STM32Cube initialization code generator - STMicroelectronics...
2021-10-29 19:17:02
563
原创 VMware下Ubuntu扩展磁盘/内存
一、扩展磁盘1.打开设置,点击磁盘,注意要在虚拟机关机状态下进行2.点击扩展 3.根据自己需要改变虚拟机磁盘大小,然后点击扩展,弹出页面点击确定4.在设置中更改了,系统磁盘还是原来的,所以要在虚拟机中更改设置。打开虚拟机,在终端依次输入sudo apt-get install gpartedsudo gparted5.在打开的页面挂载3(/dev/sda1)上右键点击更改大小/移动6.直接拖动大小二、内存更改大小...
2021-10-15 17:22:29
4709
1
原创 Ubuntu下OpenCV安装与实例使用
二、安装OenpCV1.下载地址虚拟机中直接下载https://www.bzblog.online/wordpress/index.php/2020/03/09/opencvdownload/2.安装OpenCV我安装的是3.2.0版本的,可以自己选择3中任意版本。3.解压压缩包unzip opencv-3.2.0.zip解压之后4.安装OpenCV以下使用cmake安装OpenCV1.配置环境按照下方命令顺序依次安装依赖库sud...
2021-10-14 20:31:21
421
原创 Keil MDK 中STM32C语言与汇编语言混编
目录一、C语言中调用汇编语言二、改变汇编语言三、汇编语言中调用C语言四、总结一、C语言中调用汇编语言1.新建工程2.配置环境(1)我们选择STM32F103VE芯片 (2)配置编译环境,CMSIS下选择CORE,Device下选择Starup.(3)创建c文件代码如下#include<stdio.h>extern void Init_1(void);int main(){ Init_1(); return 0;}..
2021-10-13 00:22:49
792
原创 GCC生成静态库.a和动态库.so
目录一、用gcc生成静态库和动态库(一)hello实例使用库1.创建代码2.静态库的使用3.动态库的使用(二)实例1使用库1.创建代码(三)实例2使用库二、总结一、用gcc生成静态库和动态库(一)hello实例使用库1.创建代码源代码hello.h#ifndef HELLO_H#define HELLO_Hvoid hello(const char *name);#endif//HELLO_Hhello.c#include&.
2021-10-12 13:16:24
150
原创 基于MDK创建纯汇编语言的STM32工程
目录一、创建工程二、配置环境三、测试代码1.完整代码2.测试与调式四、总结一、创建工程双击MDK,打开软件。打开Project,New uVision Project...配置环境,选择STM32F103VE芯片。到达此页面CMSIS下选择CORE;Device下Startup(其中包含了启动文件)添加源文件:右击Source Group 1,点击Add New Item to Group 'Source Group 1'......
2021-10-01 01:34:19
843
1
原创 Ubuntu下用gcc和Makefile的C程序
目录一、程序代码二、gcc编译三、Windows编译四、Makefile编译一、程序代码1.完整代码#include"sub1.h"float x2x(int a,int b){ float ans; ans=(float)b/a; return ans;}int main(){ int x=5,y=9; //定义变量 printf("%.2f\n",x2x(x,y)); //输出值,保留两位小数 return 0;}
2021-09-14 20:38:16
102
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人