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

嵌入式学习(15)-stm32通用GPIO模拟串口发送数据

一、概述

在项目开发中可能会遇到串口不够用的情况这时候可以用通过GPIO来模拟串口的通信方式。

二、协议格式

按照1位起始位+8位数据位+1位停止位的方式去编写发送端的程序。起始位拉低一个波特率的时间;发送8位数据;拉高一个波特率的时间。

三、代码

void IO_Serial_TxChar(uint8_t Data)
{
   IO_SERIAL_TX(0);
   delay_us(BuadRate_115200);
   for(uint8_t i = 0; i < 8; i++)
   {
     if(Data&0x01)
       IO_SERIAL_TX(1);
     else 
       IO_SERIAL_TX(0);
    delay_us(BuadRate_115200);
    Data = Data>>1;
   }
   IO_SERIAL_TX(1);
   delay_us(BuadRate_115200);
}

四、测试情况

波特率设置为115200,测试发送字符串无异常。

五、代码链接

STM32通过GPIO模拟串口通信时序,实现发送数据的功能资源-CSDN文库


http://www.kler.cn/a/430253.html

相关文章:

  • Yolo11改进:注意力改进|Block改进|ESSAformer,用于高光谱图像超分辨率的高效Transformer|即插即用
  • SpringBoot环境和Maven配置
  • 3D机器视觉的类型、应用和未来趋势
  • vue3运行时执行过程步骤
  • 【AI-21】深度学习框架中的神经网络
  • 009:传统计算机视觉之边缘检测
  • 设计模式-装饰器模式(结构型)与责任链模式(行为型)对比,以及链式设计
  • 大舍传媒-关于海外媒体宣发的探讨
  • 【ONE·基础算法 || 动态规划(四)】
  • Hadoop不同版本的区别
  • apt 包 源 的维护 和缓存 命令
  • github操作学习笔记
  • 内存管理面试常问
  • 【LLM】NSSCTF Round#25 Basic大模型Prompt挑战全解
  • postman-9.12.2 -- 安装包及汉化包
  • VAS1260Q奇力LED驱动芯片DCDC降压恒流可替代Diodes8860
  • 浙江省有一级科技查新机构吗?
  • 【Homework】【8】Learning resources for DQ Robotics in MATLAB
  • PHP:实现两张无关联表数据的联合分页处理方案
  • 我们跟面试训练营不冲突
  • 深度学习基础--yolov5网络结构简介,C3模块构建
  • 国内外网络安全政策动态(2024年11月)
  • 科技绽放-EtherCAT转Profinet网关智能连接项目
  • 功能篇:JAVA实现自定义注解
  • 记账管理系统网页版
  • UTONMOS解读元宇宙惊艳应用案例