找回密码
 立即注册

QQ登录

只需一步,快速开始

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

关于使用STM32制作遥控器的问题

[复制链接]
跳转到指定楼层
楼主
ID:892737 发表于 2021-8-12 11:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,我想问一下关于使用stm32f103c6t6制作遥控器的问题使用的按键在key.c和key.h中,使用的中断3发送数据

这个遥控器它发送不出数据,希望大佬可以帮忙改一下或者提一些调试建议,谢谢。

blueteeth.7z

193.68 KB, 下载次数: 9

32遥控器程序

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

使用道具 举报

沙发
ID:387856 发表于 2021-8-12 17:36 | 只看该作者
用STM32做遥控器啊,杀鸡用牛刀啊
回复

使用道具 举报

板凳
ID:892737 发表于 2021-8-12 19:39 | 只看该作者
liuhailan5757 发表于 2021-8-12 17:36
用STM32做遥控器啊,杀鸡用牛刀啊

用51做不出来了,太难了,这个是51的代码,写了没用
  1. unsigned int receive;
  2. void UART_Init(void)
  3. {
  4.           PCON &= 0x7F;                //波特率不倍速
  5.     SCON  = 0x50;                        // SCON: 模式 1, 8-bit UART, 使能接收  
  6.     TMOD |= 0x20;               // TMOD: timer 1, mode 2, 8-bit 重装
  7.     TH1   = 0xFD;               // TH1:  重装值 9600 波特率 晶振 11.0592MHz  
  8.                 TL1   = 0xFD;   
  9.                 TR1   = 1;                  // TR1:  timer 1 打开                        
  10.                 SM0=0;
  11.                 SM1=1;
  12.                 REN=1;                  //打开总中断
  13.                 ES= 1;                  //打开串口中断
  14.           TI=0;                                                //正常的话应该是TI        =        1;但是为了控制接收先置‘0’;
  15. }
  16. unsigned char num ;

  17. void com_UART0() interrupt 4
  18. {
  19.         EA=0;
  20.                 if(RI==1)
  21.     {
  22.     }
  23.        
  24.     if (TI)
  25.     {
  26.                
  27.     }
  28.                    EA    = 1;
  29. }

  30. unsigned int qwe=0x00;
  31. void main()
  32. {
  33.         UART_Init();
  34.         while(1)
  35.         {
  36.                 num=KeyScan();
  37.                 if(num!=qwe)
  38.                 {
  39.                         qwe=num;
  40.                         if(TI==1)
  41.                         {
  42.                                 SBUF = num;
  43.                                 TI=0;
  44.                         }
  45.                 }
  46.         }
  47. }
复制代码
  1. #include "delay.h"
  2. #define key1 P1     //1111 1111
  3. #define key2 P2                //1111 11   P30:RXD   P31:TXD


  4. //extern u8 fx;
  5. /*-----------------------------------------------
  6.        按键扫描函数,返回扫描键值
  7. ------------------------------------------------*/
  8. unsigned char KeyScan(void)
  9. {
  10.           
  11.          if(key1!=0xff)
  12.                 {
  13.                        
  14.                          switch(key1)           //1111 1111
  15.                                 {
  16.                                  case 0xfe:return 0x31;break;                //left
  17.                                  case 0xfd:return 0x32;break;                //right
  18.                                  case 0xfb:return 0x33;break;                //left
  19.                                  case 0xf7:return 0x34;break;                //right
  20.                                        
  21.                                  case 0xef:return 0x35;break;                //duoji 1
  22.                                  case 0xdf:return 0x36;break;
  23.                                  case 0xbf:return 0x37;break;                //duoji 2
  24.                                  case 0x7f:return 0x38;break;
  25.                                 }
  26.                                 while(key1!=0xff);
  27.                 }
  28.                  if(key2!=0xff)
  29.                 {
  30.                                 switch(key2)           //0011 1111
  31.                                 {
  32.                                  case 0xfb:return 0x39;break;    //duoji 3
  33.                                  case 0xf7:return 0x40;break;       
  34.                                  case 0xef:return 0x41;break;                //duoji 4  (夹球)
  35.                                  case 0xdf:return 0x42;break;     //         (放球)
  36.                                 }
  37.                                 while(key2!=0xff);
  38.                 }

  39.    return 0;
  40. }
复制代码
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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