找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4133|回复: 0
打印 上一主题 下一主题
收起左侧

这是我做的PC串口通信与STM32交互

[复制链接]
跳转到指定楼层
楼主
ID:443547 发表于 2018-12-10 19:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我做的PC端与串口交互

单片机源程序如下:
  1. #include "stm32f10x.h"

  2. void USART1_Init(void)
  3. {//串口参数初始化与使能时钟和GPIO端口初始化和GPIO口时钟使能
  4.   GPIO_InitTypeDef GPIO_InitUSA;
  5.   USART_InitTypeDef USART_InitUSA;

  6.   RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOA,ENABLE);//使能GPIOA
  7.   RCC_APB2PeriphClockCmd (RCC_APB2Periph_USART1,ENABLE);//使能串口1
  8.   
  9.   
  10.   GPIO_InitUSA.GPIO_Mode = GPIO_Mode_AF_PP;
  11.   GPIO_InitUSA.GPIO_Pin = GPIO_Pin_9;
  12.   GPIO_InitUSA.GPIO_Speed = GPIO_Speed_50MHz;
  13.   GPIO_Init (GPIOA,&GPIO_InitUSA);//串口1的TX引脚,设置为推挽复用输出

  14.   GPIO_InitUSA.GPIO_Mode = GPIO_Mode_IPU;
  15.   GPIO_InitUSA.GPIO_Pin = GPIO_Pin_10;
  16.   GPIO_InitUSA.GPIO_Speed = GPIO_Speed_50MHz;
  17.   GPIO_Init (GPIOA,&GPIO_InitUSA);//串口1的RX引脚,设置为上拉模式
  18.   
  19.   USART_InitUSA.USART_BaudRate = 9600;
  20.   USART_InitUSA.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  21.   USART_InitUSA.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
  22.   USART_InitUSA.USART_Parity = USART_Parity_No;
  23.   USART_InitUSA.USART_StopBits = USART_StopBits_1;
  24.   USART_InitUSA.USART_WordLength = USART_WordLength_8b;
  25.   USART_Init(USART1,&USART_InitUSA);
  26.   
  27.   USART_Cmd (USART1,ENABLE);//使能串口

  28.   
  29.   USART_ITConfig (USART1,USART_IT_RXNE,ENABLE);//开启串口1的接收中断


  30. }


  31. void Init_NVIC(void)//Usart1 NVIC配置
  32. {
  33.   NVIC_InitTypeDef NVIC_InitUSA;



  34.   NVIC_InitUSA.NVIC_IRQChannel = USART1_IRQn;
  35.   NVIC_InitUSA.NVIC_IRQChannelCmd = ENABLE;
  36.   NVIC_InitUSA.NVIC_IRQChannelPreemptionPriority = 1;
  37.   NVIC_InitUSA.NVIC_IRQChannelSubPriority = 1;
  38.   NVIC_Init (&NVIC_InitUSA);
  39.   
  40. }

  41. int main(void)
  42. {       
  43.   USART1_Init ();
  44.   Init_NVIC ();
  45.         while(1)
  46.         {
  47.                
  48.   }
  49. }


  50. void USART1_IRQHandler(void)
  51. {
  52.         unsigned char code;
  53.         if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
  54.         {        
  55.             code=USART_ReceiveData(USART1);
  56.       USART_SendData (USART1,code);
  57.         }
  58.          
  59. }
复制代码

所有资料51hei提供下载:
串口简单通信.rar (299.42 KB, 下载次数: 29)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表