找回密码
 立即注册

QQ登录

只需一步,快速开始

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

STM32C8T6源码的工程模板下载(标准程序)

[复制链接]
跳转到指定楼层
楼主
根据自己的使用习惯建立的模板
则个demo是c8t6的标准程序,可以在这个程序的基础上进行各种拓展



stm32C8T6单片机源程序如下:
  1. /*************************************************
  2. * 文件名  :usart1.c                 
  3. * 描述    :配置USART1         
  4. * 实验平台:STM32F103C8T6
  5. * 硬件连接:------------------------
  6. *          | PA9  - USART1(Tx)      |
  7. *          | PA10 - USART1(Rx)      |
  8. *           ------------------------
  9. * 库版本  :ST3.0.0  
  10. *************************************************/

  11. #include "usart1.h"
  12. #include <stdarg.h>


  13. void USART1_Config(void)
  14. {
  15.         GPIO_InitTypeDef GPIO_InitStructure;
  16.         USART_InitTypeDef USART_InitStructure;

  17.         /* 使能 USART1 时钟*/
  18.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);

  19.         /* USART1 使用IO端口配置 */   
  20.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
  21.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
  22.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  23.   GPIO_Init(GPIOA, &GPIO_InitStructure);   
  24.   
  25.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  26.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;        //浮空输入
  27.   GPIO_Init(GPIOA, &GPIO_InitStructure);   //初始化GPIOA
  28.           
  29.         /* USART1 工作模式配置 */
  30.         USART_InitStructure.USART_BaudRate = 115200;        //波特率设置:115200
  31.         USART_InitStructure.USART_WordLength = USART_WordLength_8b;        //数据位数设置:8位
  32.         USART_InitStructure.USART_StopBits = USART_StopBits_1;         //停止位设置:1位
  33.         USART_InitStructure.USART_Parity = USART_Parity_No ;  //是否奇偶校验:无
  34.         USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;        //硬件流控制模式设置:没有使能
  35.         USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;//接收与发送都使能
  36.         USART_Init(USART1, &USART_InitStructure);  //初始化USART1
  37.         USART_Cmd(USART1, ENABLE);// USART1使能
  38. }

  39. /*发送一个字节数据*/
  40. void UART1SendByte(unsigned char SendData)
  41. {          
  42.         USART_SendData(USART1,SendData);
  43.         while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);            
  44. }  

  45. /*接收一个字节数据*/
  46. unsigned char UART1GetByte(unsigned char* GetData)
  47. {             
  48.         if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET)
  49.         {  return 0;//没有收到数据
  50.                 }
  51.         *GetData = USART_ReceiveData(USART1);
  52.         return 1;//收到数据
  53. }
  54. /*接收一个数据,马上返回接收到的这个数据*/
  55. void UART1Test(void)
  56. {
  57.        unsigned char i = 0;

  58.        while(1)
  59.        {   
  60.                  while(UART1GetByte(&i))
  61.         {
  62.          USART_SendData(USART1,i);
  63.         }      
  64.        }     
  65. }
复制代码

所有资料51hei提供下载:
stm32c8t6_demo.rar (211.76 KB, 下载次数: 292)


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

使用道具 举报

沙发
ID:920167 发表于 2021-5-12 17:28 | 只看该作者
学习学习模板的代码
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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