找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1816|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

關(guān)于使用STM32制作遙控器的問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:892737 發(fā)表于 2021-8-12 11:07 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
大家好,我想問一下關(guān)于使用stm32f103c6t6制作遙控器的問題使用的按鍵在key.c和key.h中,使用的中斷3發(fā)送數(shù)據(jù)

這個(gè)遙控器它發(fā)送不出數(shù)據(jù),希望大佬可以幫忙改一下或者提一些調(diào)試建議,謝謝。

blueteeth.7z

193.68 KB, 下載次數(shù): 9

32遙控器程序

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:387856 發(fā)表于 2021-8-12 17:36 | 只看該作者
用STM32做遙控器啊,殺雞用牛刀啊
回復(fù)

使用道具 舉報(bào)

板凳
ID:892737 發(fā)表于 2021-8-12 19:39 | 只看該作者
liuhailan5757 發(fā)表于 2021-8-12 17:36
用STM32做遙控器啊,殺雞用牛刀啊

用51做不出來了,太難了,這個(gè)是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;                                                //正常的話應(yīng)該是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. }
復(fù)制代碼
  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.        按鍵掃描函數(shù),返回掃描鍵值
  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. }
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表