w66566 2024-03-12 11:38 采纳率: 0%
浏览 20

如何实现一个电脑控制多个单片机

我想做一个电子桌牌,功能如下:1,用一台电脑可以控制多个桌牌,2单片机之间属于一主一从,主机可以控制从机,3,桌牌具有统计票数的功能,我应该怎么实现?(使用stm32f103c8t6系统板)

  • 写回答

3条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2024-03-12 14:08
    关注

    【相关推荐】



    • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7484509
    • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:STM32学习(10)-定时器描述,三种计数方式,定时器的工作框图,定时器时钟来源,定时器相关寄存器和函数,通用定时器实现定时的步骤
    • 除此之外, 这篇博客: 基于STM32F103C8T6的循迹避障小车完整制作过程(详细)----上篇(第123点)中的 2,如何写程序使小车前进后退和转弯呢? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      设计思路就是设置4个IO口的高低电平
      我的IO口与电机驱动是这样连接的:A1–IN1;A2–IN2;A3–IN3;A4–IN4;
      再看下面这个代码,我简单的写了一个前进和一个左转函数

      void car_go(void);
      void car_left(void);
       int main(void)
      {
      	
          GPIO_InitTypeDef  GPIO_InitStructure;	
          RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//使能GPIO的外设时钟
      
          GPIO_InitStructure.GPIO_Pin =GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4;//选择要用的GPIO引脚
          GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置引脚模式为推免输出模式						 
          GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//设置引脚速度为50MHZ         
          GPIO_Init(GPIOA,&GPIO_InitStructure);//调用库函数,初始化GPIO
      	
      	car_go();//前进
      
      }
      
      
      void car_go(void)  //前进
      {
          GPIO_SetBits(GPIOA,GPIO_Pin_1);   //控制左边轮胎
      	GPIO_ResetBits(GPIOA,GPIO_Pin_2);
      	
      	GPIO_SetBits(GPIOA,GPIO_Pin_3);    //控制右边轮胎
      	GPIO_ResetBits(GPIOA,GPIO_Pin_4);
      }
      
      void car_left(void)  //左转
      {
          GPIO_SetBits(GPIOA,GPIO_Pin_1);   //控制左边轮胎
      	GPIO_ResetBits(GPIOA,GPIO_Pin_2);
      	
      	GPIO_ResetBits(GPIOA,GPIO_Pin_3); //控制右边轮胎
      	GPIO_SetBits(GPIOA,GPIO_Pin_4);   
      	
      }
      

      由于主函数里调用的是car_go函数,这个代码编译下载后车子就会向前走,如果你的轮子转反了的话,简单的方法就是把电机的正负极换个位置接就行了。

      好了,这篇文章已经很长了,今天就先码到这里,整个完整过程会分为上中下三篇,剩下两篇过两天慢慢码完再发。

      下面是我所制作的小车成品图,因为模块都是独立的,所以线比较多。

      在这里插入图片描述

      下面是我写的已经测试完成了的工程,主函数里有两个循环,分别是循迹和避障循环,他们是单独工作的,引用掉一个再打开另一个就行。

      https://download.csdn.net/download/weixin_43924857/11650617
      当然循迹和避障的策略都是我自己为了完成任务写的,比较简单,能够实现循迹避障功能,到后面你已经会操作各个模块后,自己写个更好的循迹避障策略是完全没有问题的,或者是用我的工程,里面的各模块函数也都写好了,直接调用就行。

      下面是中篇地址:
      基于STM32F103C8T6的循迹避障小车完整制作过程(详细)----中篇(第456点)

      工程文件已经放到百度网盘:
      链接:https://pan.baidu.com/s/1VSRC418Tz8uLCF8cjrIY1g
      提取码:7m9y


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 3月12日