- 博客(18)
- 收藏
- 关注
原创 基于STM32的FLASH的DAC音频输出
目录一、相关内容二、音频准备2.1 生成wav文件2.2 提取.wav文件十六进制2.4 录制“您好欢迎光临”三、编写程序3.1 写入FLASH3.2 字音频还原播放任务四、总结一、相关内容DAC简介 DAC 为数字/模拟转换模块,故名思议,它的作用就是把输入的数字编码,转换成对应的模拟电压输出,它的功能与 ADC相反。在常见的数字信号系统中,大部分传感器信号被化成电压信号,而 ADC把电压模拟信号转换成易于计算机存储、处理的数字编码,由...
2021-12-31 17:11:18
1305
原创 stm32f103c8t6的内部Flash读取
目录1.stm32内部框架图二、SD卡读写2.1 要求2.2 实验过程截图2.3 查看hello.txt2.4 从SD卡读出2.4.1 修改代码2.4.2 输出结果三、写入flash3.1.1 配置定时器3.1.2使PC13GPIO模式3.1.3 使GPIO引脚使能3.1.4 时钟配置3.1.5 设置堆栈大小3.2 修改代码3.2.1 修改数组大小3.2.2 修改数据内容3.2.3 将i变量改成uint16_t位3....
2021-12-31 13:49:10
3609
原创 Altium Designer 18绘制一个STM32+SD卡 的系统原理图设计
目录一、安装Altium Designer 181.1 安装网盘链接:1.2 解压镜像文件1.3 安装1.4 运行二、 绘制 stm32 最小系统的电路原理图2.1新建工程2.2 添加元件库2.3 选择STM32最小版三、绘制结果3.1STM32 芯片3.2stm32 去耦电路3.3晶振电路3.4复位电路3.5降压电路3.6下载方式选择及程序烧录接口3.7 输入、输出电源3.8 排针3.9 总stm32原理...
2021-12-21 21:12:39
686
原创 用STM32F103 完成对SD卡的数据读取(FAT文件模式)
一.相关知识1.1 SD卡1.1.1 物理结构存储单元是存储数据部件,存储单元通过存储单元接口与卡控制单元进行数据传输;电源检测单元保证 SD 卡工作在合适的电压下,如出现掉电或上状态时,它会使控制单元和存储单元接口复位;卡及接口控制单元控制 SD 卡的运行状态,它包括有 8 个寄存器;接口驱动器控制 SD 卡引脚的输入输出。1.1.2 SD卡寄存器1.1.3SD卡引脚功能详述注:S:电源供给I:输入 O:采用推拉驱动的输出PP:采用推拉驱动的输入输出...
2021-12-20 19:54:17
379
原创 Ubuntu、stm32下全局变量、局部变量、堆、栈的问题
目录一 .相关知识二.Ubuntu(x86)系统和STM32(Keil)中编程验证2.1 代码编写2.2 Ubuntu运行2.3 STM32 Keil52.3.1工程建立2.3.2编译2.3.2 运行结果2.3.3 查看stm32地址的分配三、总结一 .相关知识关于全局变量,局部变量,堆栈的相关知识点可以查阅博客(25条消息) Laul Ken-Yi的博客_优快云博客-ubuntu领域博主二.Ubuntu(x86)系统和STM32(Keil)中...
2021-12-20 18:51:20
207
原创 CLion下与stm32cubemx点亮LED
一、环境安装1.1下载clionCLion: A Cross-Platform IDE for C and C++ by JetBrains进入官网下载然后安装安装next 勾选CLion 也可以勾选pathnext 然后install1.2安装运行CLion点击开始一个试用:start trial,然后去往JetBrains官网注册登录,我登陆的是github用户,则可以领取30天的试用登录成功后返回可以看到1.2安装arm-n...
2021-12-14 20:58:22
399
原创 基于stm32cubemx移植uC/OS-III操作系统及波形观察
目录一、获取uC/OS-III源码二、建立文件夹2.1 新建文件夹2.2 创建空文件2.3 导入源码2.4 创建基础stm32框架2.5 导入文件和增加头函数路径2.6 打开keil,增加item三、改写代码3.1 修改startup文件3.2 修改CONFIG/app_cfg.h3.3 修改CONFIG/includes.h3.5 bsp.h3.6 CONFIG/lib_cfg.h3.7 usart.c3.8 main.c四、...
2021-12-04 14:16:47
441
原创 基于I2C的AHT20温度采集器及SPI协议OLED显示
目录一.相关协议1.1 关于I2C协议1.2 关于SPI协议1.3 了解AHT20芯片的相关信息1.4 OLED屏的滚屏命令1.5 AHT20引脚接法二、采集温度传到电脑2.1 完整代码2.2 打开工程文件2.3 编译加烧录2.4 结果三、基于SPI的OLED显示3.1修改代码3.2汉字取模点阵软件3.3烧录3.4结果3.5显示AHT20的温度和湿度3.5.1主要代码3.5.2编译烧录3.5.3结果3.6显示左...
2021-11-26 11:27:43
376
原创 两台PC实现串口通信及点阵字模读写
目录一、PC串口通信1. 连线设置2.打开调试助手发送文件二、点阵汉字读取与打印1. 点阵汉字知识点2.1 创建文本文档2.2 打开Ubuntu2.3 运行结果三.总结四.参考文献一、PC串口通信1. 连线设置注意将一个串口的TXD连接另一个串口的RXD,接电源和接地连一起即可。2.打开调试助手发送文件打开串口选择115200波特率选择图片发送大概预计时间在8秒左右。但是实际发送时间为11秒左右。将波特率改为200000...
2021-11-14 14:53:58
2245
原创 STM32中断和串口通信
一.中断实现LED亮灭1.新建工程1.1选择芯片1.2 设置led,PA5引脚和外部中断EXTI1,PB11.3给中断设置下降沿触发,并且上拉电阻。1.4配置中断优先级,因为此处只有一个中断,因此它的优先级为0,为最高1.5配置时钟,设时钟频率为72MHZ1.6自动生成程序二.编译写程序可以看到生成的中断服务函数 void EXTI1_IRQHandler(void)可以看到在这之中调用了HAL_GPIO_EXTI_Call...
2021-11-06 14:04:58
1477
原创 stm32CubeMX(Hal库)流水灯和stm32的串口通信
一.安装环境stm32cubemx使用jave编程,需安装jdk。1.安装jdk安装完成。2.安装STM32CubeMx安装路径不要有中文3.安装固件库打开stm32cubeMX,在help下选择manage然后选择STM32F1然后1.8.4版本,然后install now出现绿点表示安装成功。二.流水灯点亮选择F103C8芯片双击103C8芯片进入,点击system core 选择sys,将debug选择serial ...
2021-10-26 21:49:06
751
原创 C语言STM32流水灯依此闪烁
1.地址映射和寄存器映射1.1 总线基地址总线名称 总线基地址 相对外设基地址的偏移 APB1 0x4000 0000 0x0 APB2 0x4001 0000 0x0001 0000 AHB 0x4001 8000 0x0001 8000 1.2 外设基地址 外设名称 外设基地址 相对APRB总线的地址偏移 GPIOA 0x4001 0800 0x0000 0800 GPIOB 0x40...
2021-10-21 21:34:59
824
原创 C语言嵌套汇编语言
目录一.创建新工程二.编写程序2.1 main.c2.2 Func.s2.3 原理三.添加源代码3.1 添加main.c3.2 添加Func.s3.3修改debug参数改成只运行程序四.编译调试4.1 编译4.2 设置断点观察每次比较时的R1,R2大小五、修改参考代码5.1 函数的参数传递机制5.1.1 对于x86平台5.1.2 对于ARM平台5.2main.c5.3 Func.s5.4添加文件编译5.5设置断点...
2021-10-13 21:14:52
668
原创 Linux gcc常用命令
一.简单编译1.程序代码test.c#include <stdio.h>int main(void){printf("Hello World!\n");return 0;}程序一步编译指令:gcc test.c -o test实质上,上述编译过程是分为四个阶段进行的,即预处理(也称预编译,Preprocessing)、编译 (Compilation)、汇编 (Assembly)和连接(Linking)。2.1预处理gcc -E test.c.
2021-10-12 16:19:59
270
原创 OpenCV3.4.11的安装及使用示例
目录一、认识 OpenCV二、安装 OpenCV(1)安装包①下载 OpenCV 3.4.11 数据包②解压缩包③使用 cmake 安装 opencv④使用 make 创建编译⑤安装(2)配置环境1.修改opencv.conf文件2.更新系统共享链接库3.配置 bash三.使用实例-图片四.使用实例-视频(1)虚拟机获取摄像头权限(2).播放视频(3).录制视频五.总结六.参考文献一、认识 OpenCV开源计算机视觉...
2021-10-12 16:10:08
1786
原创 gcc生成静态库.a和动态库.so
1、用gcc生成静态库和动态库静态库 在程序编译时会被连接到目标代码中,程序运行是则不需要静态库的存在。 动态库 在程序编译时不会被连接到目标代码中,而是程序运行时载入的。 两者区别:前者是编译连接的,后者是程序运行载入的。...
2021-10-11 19:19:23
160
原创 基于 MDK 创建 STM32 汇编语言工程
目录一.新建工程二.配置环境2.1设置工程目标环境,本文基于STM32F103ZE,出现弹窗选项如下图2.2 选择运行环境2.3添加源文件三.源代码调试四.总结一.新建工程点击菜单栏的project二.配置环境2.1设置工程目标环境,本文基于STM32F103ZE,出现弹窗选项如下图2.2 选择运行环境ARM的CMSIS已经把开发所需要的软件组件都封装好了,因此直接选择即可;CMSIS下选择CORE; Device下Sta...
2021-09-27 20:54:10
165
原创 2021-09-09
在这里插入代码片一、直接使用gcc编译C程序1. 在Ubuntu系统下用C语言编写一个简单的输出 hello word 的程序,并编译有、运行之;hello.c文件代码#include<stdio.h>int main(){printf("hello world!\n"); return 0;}编译hello.c文件及运行结果展示2.请编写一个主程序文件 main.c 和一个子程序文件 sub.c。要求:子程序sub1.c 包含一个算术运算函数 floa
2021-09-09 21:59:32
1368
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人