基于STM32cubemx的STM32F107vct6的代码生成,实验四串口与DMA

基于STM32cubemx的STM32F107vct6的代码生成,实验四串口与DMA(直接内存存取)

软件: 软件:STM32CUBEMX/System Workbench/MDK keil5

步骤:1. 在STM32cubemx中建立新的project,按照之前操作选择正确的MCU
在这里插入图片描述

2. 首先设置RCC和SYS和TIME1选择内部时钟(Internal Clock)配置如下。
在这里插入图片描述

3. 根据板子情况设置时钟树(此处外部晶振是12M,STM32f107最高主频为72M)。
4. 配置USART1为Asynchronous模式
在这里插入图片描述

5. 可以发现PA9和PA10被设置为了USART1_TX, USART1_RX。

在这里插入图片描述

6.UART1配置用默认的115200 / 8/ none和1即可。
在这里插入图片描述

7.配置DMA,点击Add,添加USART1_TX,Channel和Direction会自动选择,Data Width用默认的Byte。
在这里插入图片描述

然后启用串口中断
在这里插入图片描述

8.在Project—setting中Toolchain/IDE选择所需要的编译软件,keil5/SW4STM32,勾选下图选项。
在这里插入图片描述
保存之后,点击任务栏的代码生成图标。

9. 完成之后点击Open Project,自动打开项目,编辑main.c添加如下代码。

/* USER CODE BEGIN PV /
/Privatevariables ---------------------------------------------------------/
uint8_t serialMsg[] = "\r\n
*** Serial Output Message by DMA **\r\n UART DMA Test \r\n";
/
USER CODE END PV */

while (1)
{
/* USER CODE END WHILE /
/
USER CODE BEGIN 3 */
HAL_UART_Transmit_DMA(&huart1, (uint8_t *)serialMsg, sizeof(serialMsg));
HAL_Delay(1000);
}

编译无错误即可。
本篇主要讲述如何通过DMA向串口输出数据。

使用System Workbench时
5. 在第8步时选择SW4STM32,之后继续相同操作。
6. 添加代码后,右键点击项目,选择Properties,Run—Debug Settings,然后点击右侧New Ac6 STM32 Debugging,完成后点击Run。
注:若上一步报错,原因即不能使用自动生成的cfg配置文件,需要自定义cfg配置文件并修改其中的source[find interface/stlink.cfg]为source [find interface/stlink-v2.cfg]即可。
所以需要右键点击 项目名Run.cfg ,给它改个名字,

然后右键点击项目树里面的项目名称,选择“Propeties”,然后在Run/Debug Settings-选择项目名-Edit-Main-C/C++Application那里点击“Search Project”,然后选择出现的默认的elf文件:

然后在Debugger-User Defined-Browse 那里选择你自己改名的配置文件

然后右键点击那个新的cfg文件,选择"Open With - Text Editor", 进行如下更改:

source [find interface/stlink.cfg] 更改为 source [find interface/stlink-v2.cfg]

reset_config srst_only srst_nogate connect_assert_srst 这一行改为 reset_config none

然后再Run一下,就可以了。

测试结果
通过串口调试软件(此处使用Serial Port Utility调试软件 波特率设为115200)可以得到不断输出如下信息:

**** Serial Output Message by DMA ***
UART DMA Test
.
**** Serial Output Message by DMA ***
UART DMA Test

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32F107VC单片机开发板ALTIUM设计硬件原理图+PCB(4层)工程文件,Altium Designer 设计的工程文件,包括完整的原理图及PCB文件,4层板设计,板子大小为170x115mm,单面布局双面布线,可以用Altium(AD)软件打开或修改,可作为你产品设计的参考。 包括原理图和PCB原文件,以及电路上用到的所有器件原理图库和PCB封装库,电路为官方原板,外围电路丰富,包括CAN、电机控制、SD卡、音频处理、I/O扩展、USB接口、串口接口、存储扩展、LCD接口和STM32F107核心系统电路等,已通过本人的设计项目验证,电路设计规范可靠,可以为STM3210X系列的电路应用设计提供很好的参考和封装,省时省力,绝对超值!!! 主要器件型号列表如下: 20PIN1 3.2LCD_connector 475900001 74H1G66STR 74LX1G04CTR BARRACUDA_256K BATTERY Battery BNX002 CAP Capacitor CRYSTAL Crystal CS43L22 Cap Pol1 Polarized Capacitor (Radial) Circuit Breaker Circuit Breaker ColorLCD_module D Schottky Schottky Diode DB9 DP83848CVV Diode Default Diode EMIF02-USB03F2 Header 25X2 Header, 25-Pin, Dual row Header 3X2 Header, 3-Pin, Dual row Header 5 Header, 5-Pin Inductor Inductor J0011D21B JP2 Jumper3 LD1117 LED2 Typical RED, GREEN, YELLOW, AMBER GaAs LED LIS302DL M24C64-WMN6 M74HC4060TTR MC306 MC_connector MT-008A NPN NPN Bipolar Transistor PJ202A RV Resister Array SM7745HEV-50.0M SMS016AFA5E SN65HVD230D ST-212-02V ST3241 ST8024CTR STMPE811 STMPS2141STR STT5PF20V SW PUSHBUTTON SE PUSHBUTTON SW-SPDT SPDT Subminiature Toggle Switch, Right Angle Mounting, Vertical Actuation Smart_card_CN Speaker Loudspeaker TFDU4300 TFDU4300 TP TSC101BILT VOLTREG1 ZEN056V130A24LS res1 Resistor

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值