0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【CW32饭盒派开发板试用体验】串口实验

华仔的编程随笔 来源:华仔的编程随笔 作者:华仔的编程随笔 2023-05-29 09:13 次阅读

串口选择

示例给出的是串口的,因为今天回老家,带的杜绑线是公对母的,不能接串口1,所以选择串口2,即PA2--TX,PA3--RX。

初始化串口

  1. 初始化UART2的时钟:__RCC_UART2_CLK_ENABLE();
  2. 初始化GPIOA外设时钟:RCC_AHBPeriphClk_Enable( RCC_AHB_PERIPH_GPIOA, ENABLE);
  3. 复用PA2为UART2TX: PA02_AFx_UART2TXD();
  4. 复用PA3为UART2RX:PA03_AFx_UART2RXD();
  5. 初始化PA2为高速输出模式:
GPIO_InitStructure.Pins = GPIO_PIN_2; //PA2
  GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStructure.Speed = GPIO_SPEED_HIGH;
  GPIO_Init(CW_GPIOA, &GPIO_InitStructure);
  1. 初始化PA3为上拉输入:
GPIO_InitStructure.Pins = GPIO_PIN_3; //PA3
  GPIO_InitStructure.Mode = GPIO_MODE_INPUT_PULLUP;
  GPIO_Init(CW_GPIOA, &GPIO_InitStructure);
  1. 初始化UART2配置为9600波特率:
USART_InitStructure.USART_BaudRate = 9600;
  USART_InitStructure.USART_Over = USART_Over_16;
  USART_InitStructure.USART_Source = USART_Source_PCLK;
  USART_InitStructure.USART_UclkFreq = 64000000;
  USART_InitStructure.USART_StartBit = USART_StartBit_FE;
  USART_InitStructure.USART_StopBits = USART_StopBits_1;
  USART_InitStructure.USART_Parity = USART_Parity_No ;
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
  USART_Init(CW_UART2, &USART_InitStructure);
  1. 使能中断输入
//使能UARTx RC中断
  USART_ITConfig(CW_UART2, USART_IT_RC, ENABLE);
  //优先级,无优先级分组
  NVIC_SetPriority(UART2_IRQn, 0);
  //UARTx中断使能
  NVIC_EnableIRQ(UART2_IRQn);
  1. 中断接收函数,主要功能为判断接收到的第一位是否为0,第二位是否为1,如果总接收长度为4位,测翻转LED4,具体代码如下:
void UART2_IRQHandler(void)
{
  /* USER CODE BEGIN */
  unsigned char TxRxBuffer;
  if(USART_GetITStatus(CW_UART2, USART_IT_RC) != RESET)
  { 
		USART_ClearITPendingBit(CW_UART2, USART_IT_RC); 
    TxRxBuffer = USART_ReceiveData_8bit(CW_UART2);
			rec[re_count]=TxRxBuffer;
		 if (re_count == 0&&rec[0]==0x00)
			{          
				rev_start=1;
				re_count++;
			}
			else if(rev_start==1)
			{		
				if(re_count==1&&rec[1]!=0x01)
				{
					re_count=0;rev_start=0;
				}
				else if(re_count==4)           //计算总个数,0-4 
			      {check_flag=1;re_count=0;rev_start=0;}	  //如果对,那么将标志位置1,并清除里面的值从新接收
				else		
				   re_count++;		
			}
  }
  /* USER CODE END */
}

实现效果,下载后,串口接收到0x00 0x01 0x02 0x03 ,HEX发送00 01 02 03 可以实现LED4的翻转:

image.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 串口
    +关注

    关注

    14

    文章

    1551

    浏览量

    76421
  • uart
    +关注

    关注

    22

    文章

    1235

    浏览量

    101354
  • 开发板
    +关注

    关注

    25

    文章

    5032

    浏览量

    97371
  • GPIO
    +关注

    关注

    16

    文章

    1204

    浏览量

    52051
  • CW32
    +关注

    关注

    1

    文章

    203

    浏览量

    626
  • 武汉芯源
    +关注

    关注

    1

    文章

    66

    浏览量

    253
收藏 人收藏

    评论

    相关推荐

    CW32饭盒开发板 测试IO速度

    CW32饭盒开发板的GPIO进行速度测试
    的头像 发表于 05-26 13:07 42.5w次阅读
    <b class='flag-5'>CW32</b><b class='flag-5'>饭盒</b><b class='flag-5'>派</b><b class='flag-5'>开发板</b> 测试IO速度

    CW32饭盒开发板试用体验】TFT测试

    准备 基于实验七TFT彩屏实验 工程配置参考上一篇【CW32饭盒开发板
    发表于 04-28 00:25

    CW32饭盒开发板试用体验】+机械臂游戏项目(开源)(1)开箱试验舵机

    我很高兴能得到 CW32饭盒开发板试用体验机会,想利用业余时间,做个机械臂游戏项目,用咱们的这个开发板
    发表于 04-28 20:10

    CW32饭盒开发板试用体验】+机械臂游戏项目(开源)(4)多加点东西

    接上三篇,继续本项目开发。【CW32饭盒开发板试用体验】+机械臂游戏项目(开源)(1)开箱试验
    发表于 05-08 18:40

    CW32饭盒开发板试用体验】开箱测试

    CW32饭盒开发板试用体验】+开箱测试 硬件资源介绍 CW32
    发表于 05-13 00:20

    CW32饭盒开发板试用体验】开发板简单介绍及初体验

    今天开箱一款基于CW32F030C8T6的开发板开发板命名为CW32饭盒。 下面简单的对
    发表于 05-22 10:47

    CW32饭盒开发板试用体验】开发板简单介绍和开发板初体验

    今天开箱一款基于CW32F030C8T6的开发板开发板命名为CW32饭盒。 下面简单的对
    发表于 05-22 10:56

    CW32饭盒开发板试用体验】CW32F030C8T6的开发板开箱视频

    今天将收到的CW32F030C8T6的开发板-CW32饭盒开发板做个开箱视频。
    发表于 05-22 11:03

    CW32饭盒开发板试用体验】+机械臂游戏项目(开源)(5)加红外游戏操控机

    接上几篇: 【CW32饭盒开发板试用体验】+机械臂游戏项目(开源)(1)开箱试验舵机 - 武汉芯源MCU - 电子技术论坛 - 广受欢迎的
    发表于 05-24 22:27

    CW32饭盒开发板试用体验】开箱上电

    昨天收到了CW32饭盒开发板啦,今天来分享一下。开发板采用透明的塑料盒装载,大小适中,非常像一次性饭盒
    发表于 05-27 23:32

    CW32饭盒开发板试用体验】+开箱+软件

    感谢 发烧友学院以及武汉芯源半导体有限公司提供产品## 芯源CW32饭盒开发板。 打开快递封装的外包裹袋,里面有一个塑料盒子。打开后是CW32
    发表于 05-29 08:41

    CW32饭盒开发板试用体验】+初识CW32饭盒开发板

    盼星星,盼月亮,终于收到了CW32饭盒开发板。回想起那天答复参加活动邮件发出去的那一刻,就在期盼。 以前也了解过CW32单片机,这是一款非
    发表于 05-29 15:51

    CW32饭盒开发板试用体验】1-开箱感受

      本次成功申请CW32饭盒开发板试用,十分荣幸,首先感谢电子发烧友论坛提供的活动平台和试用
    发表于 06-01 00:26

    CW32饭盒开发板试用体验】+可爱的饭盒

    CW32F030评估 如今推出的CW32饭盒,则无论是包装还是在开发板的设计上都向前大大地
    发表于 06-01 13:53

    CW32饭盒开发板温湿度采集

    CW32饭盒开发板采集温湿数据并用LCD显示
    的头像 发表于 05-26 19:20 1489次阅读
    <b class='flag-5'>CW32</b><b class='flag-5'>饭盒</b><b class='flag-5'>派</b><b class='flag-5'>开发板</b>温湿度采集