第5-6周-实验作业-串口通信小试

本文介绍了使用STM32 CubeMX配置F103C8芯片进行寄存器控制流水灯的操作步骤,并详细讲解了串口通信的初始化过程,包括usart.c文件的编写。通过实验,作者掌握了Cubemx简化流水灯编程及STM32的USART串口通信程序。
摘要由CSDN通过智能技术生成

一、寄存器写流水灯

1、在Cube_Mx选择F103C8芯片包

2、设置GPIO

           ![在这里插入图片描述](https://img-blog.csdnimg.cn/86363f8263514e76b75791a3330ddcde.png#pic_center)

在这里插入图片描述

3、设置时钟

在这里插入图片描述
生成工程后即可

4、生成函数后对main函数进行修改

在这里插入图片描述
delay函数需要自己定义,代码如下

 void delay_ms(int32_t nms) 
 
 {
   
 
  int32_t temp; 
 
  SysTick->LOAD = 8000*nms; 
 
  SysTick->VAL=0X00;
 
  SysTick->CTRL=0X01;
 
  do 
 
  {
    
 
       temp=SysTick->CTRL;
 
  }
 
     while((temp&0x01)&&(!(temp&(1<<16))));
 
     
 
     SysTick->CTRL=0x00; 
 
     SysTick->VAL =0X00; 
 
 }

5、 利用寄存器写流水灯,代码如下

 
#define RCC_APB2ENR		*((unsigned volatile int*)0x40021018)
 
#define GPIOA_CRL		*((unsigned volatile int*)0x40010800)
#define	GPIOA_ODR		*((unsigned volatile int*)0x4001080C)
 
#define GPIOB_CRL		*((unsigned volatile int*)0x40010C00)
#define	GPIOB_ODR		*((unsigned volatile int*)0x40010C0C)
 
#define GPIOC_CRH		*((unsigned volatile int*)0x40011004)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值