当前位置: 首页 > news >正文

STC32G12K12实战:串口通信

       STC32G12K128芯片写一个按键通过串口1发送字符串的程序。首先,确认芯片的串口1配置。STC32G系列通常使用UART1,相关的寄存器是P_SW1来选择引脚。默认情况下,UART1的TX是P3.1。

        接下来是设置定时器作为波特率发生器。通常用定时器2,模式1,自动重载。需要计算波特率的初始值。使用11.0592MHz晶振,9600波特率的话,TH1的值是0xFD。不过STC32G可能用不同的定时器,可能需要定时器1或定时器2,需要查手册。或者使用T2作为波特率发生器,这时计算方式不同。用的是定时器1,模式2(8位自动重载)。这里可能需要确认,但为了简化,先假设使用定时器1,模式2,波特率9600。

        然后是GPIO配置。按键需要接某个IO口,比如P3.2,设置为输入模式,带上拉电阻。检测按键按下时,需要去抖动,可以用延时或软件检测多次。

        串口初始化部分,设置SCON寄存器,模式1,允许接收。同时需要启动定时器,设置TH1和TL1的值。接着是中断配置,只需发送,不需要接收中断。不需要开中断,直接查询方式发送。

        主程序中,检测按键是否按下,当检测到按键按下时,通过串口发送字符串。发送函数需要循环发送每个字符,使用TI标志位来判断是否发送完成。

        需要包含头文件,比如STC32G.H,定义相关的寄存器和位。需要注意STC32G系列的寄存器与传统的8051不同,特别是AUXR寄存器,需要配置定时器的工作模式。

        总结步骤:配置UART1,设置定时器,初始化IO,主循环检测按键,发送字符串。需要编写串口初始化函数,按键检测函数,和字符串发送函数。确保所有配置正确,并测试硬件连接是否正确,比如TX引脚是否接对,按键是否接地并通过上拉电阻。

 

#include "STC32G.H"#define KEY_PIN P32  // 假设按键接P3.2void UART1_Init(void) {P_SW1 &= 0x3F;    // UART1默认引脚P3.0/RxD, P3.1/TxDSCON = 0x50;     // 模式1,允许接收T2L = 0xE6;       // 11.0592MHz@115200T2H = 0xFF;       // 定时器2时钟源为sysclk/1AUXR = 0x14;      // T2作UART1波特率发生器AUXR |= 0x01;     // 启动定时器2
}void SendString(char *str) {while (*str) {SBUF = *str++;while (!TI);TI = 0;}
}void main() {P3M0 &= ~0x04; P3M1 &= ~0x04; // P3.2准双向UART1_Init();while(1) {if (KEY_PIN == 0) {       // 检测按键按下__asm__("nop");       // 消抖延时if (KEY_PIN == 0) {SendString("Hello STC32!\r\n");while(!KEY_PIN);  // 等待释放}}}
}

相关文章:

  • Vector和list
  • STMCubeMX使用TB6612驱动编码轮并进行测速
  • 102. 二叉树的层序遍历递归法:深度优先搜索的巧妙应用
  • 业务中台-典型技术栈选型(微服务、容器编排、分布式数据库、消息队列、服务监控、低代码等)
  • vue3基础学习 [简单标签] (vscode)
  • 基于 Spring Boot 瑞吉外卖系统开发(十四)
  • OpenCV CUDA模块中逐元素操作------算术运算
  • 解密企业级大模型智能体Agentic AI 关键技术:MCP、A2A、Reasoning LLMs-强化学习算法
  • Vue3指令(二)--v-text、v-html数据渲染,计算属性
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ |搭建项目框架
  • PlantSimulation 隐藏 Frame节点(Structure)的操作方法
  • ComplianceAsCode/content 项目架构设计刨析
  • 西门子WinCC Unified PC的GraphQL使用手册
  • [python] python中的魔法方法和属性
  • Spring Boot 博客项目深度分析报告
  • k8s监控方案实践补充(一):部署Metrics Server实现kubectl top和HPA支持
  • iOS WebView和WKWebView怎么调试?
  • 行业趋势与技术创新:驾驭工业元宇宙与绿色智能制造
  • Large-Scale Language Models: In-Depth Principles and Pioneering Innovations
  • 【Linux网络】————详解TCP三次握手四次挥手
  • 为什么越来越多景区,把C位留给了书店?
  • 女外交官郑璇已任中国驻莫桑比克大使
  • 王毅谈中拉命运共同体建设“五大工程”及落实举措
  • 中华人民共和国和巴西联邦共和国关于强化携手构建更公正世界和更可持续星球的中巴命运共同体,共同维护多边主义的联合声明
  • 上海现有超12.3万名注册护士,本科及以上学历占一半
  • 影子调查丨三名“淘金客”殒命雪峰山:千余废弃金矿洞的监管难题