找回密码
 立即注册

QQ登录

只需一步,快速开始

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

适用于STM32战舰v3和精英板的蓝牙点灯(结合lcd和oled都可以使用)

[复制链接]
跳转到指定楼层
楼主
ID:594206 发表于 2019-10-30 22:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
#include "hc05.h"
#include "usart2.h"                                  
#include "string.h"         
#include "key.h"
//ALIENTEKminiSTM32¿a·¢°åà©Õ1êμÑé
//ATK-HC05à¶Ñà′®¿úÄ£¿éêμÑé-¿aoˉêy°æ±¾  
//¼¼êõÖ§3Ö£owww.openedv.com
//1ãÖYêDDÇòíμç×ó¿Æ¼¼óDÏT1«Ë¾
//ALIENTEKÕ½½¢STM32¿a·¢°åêμÑé13
//TFTLCDÏÔê¾êμÑé  
//¼¼êõÖ§3Ö£owww.openedv.com
//1ãÖYêDDÇòíμç×ó¿Æ¼¼óDÏT1«Ë¾
       
       
        //ÏÔê¾ATK-HC05Ä£¿éμÄÖ÷′ó×′ì¬
void HC05_Role_Show(void)
{
        if(HC05_Get_Role()==1)LCD_ShowString(30,140,200,16,16,"ROLE:Master");        //Ö÷»ú
        else LCD_ShowString(30,140,200,16,16,"ROLE:Slave ");                                         //′ó»ú
}
//ÏÔê¾ATK-HC05Ä£¿éμÄᬽó×′ì¬
void HC05_Sta_Show(void)
{                                                                                                 
        if(HC05_LED)LCD_ShowString(120,140,120,16,16,"STA:Connected ");                        //ᬽó3é1|
        else LCD_ShowString(120,140,120,16,16,"STA:Disconnect");                                 //Î′á¬½ó                                 
}          
int main(void)
{         
        u8 t;
        u8 key;
        u8 sendmask=0;
        u8 sendcnt=0;
        u8 sendbuf[20];          
        u8 reclen=0;  
        delay_init();                     //Ñóê±oˉêy3õê¼»ˉ          
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //éèÖÃNVICÖD¶Ï·Ö×é2:2λÇàÕ¼óÅÏ輶£¬2λÏìó|óÅÏ輶
        uart_init(9600);                 //′®¿ú3õê¼»ˉÎa9600
        LED_Init();                                //3õê¼»ˉóëLEDᬽóμÄó2¼t½ó¿ú
        KEY_Init();                                //3õê¼»ˉ°′¼ü
        LCD_Init();                                //3õê¼»ˉLCD

        POINT_COLOR=RED;
        LCD_ShowString(30,30,200,16,16,"ALIENTEK STM32 ^_^");       
        LCD_ShowString(30,50,200,16,16,"HC05 BLUETOOTH COM TEST");       
        LCD_ShowString(30,70,200,16,16,"ATOM@ALIENTEK");
        while(HC05_Init())                 //3õê¼»ˉATK-HC05Ä£¿é  
        {
                LCD_ShowString(30,90,200,16,16,"ATK-HC05 Error!");
                delay_ms(500);
                LCD_ShowString(30,90,200,16,16,"Please Check!!!");
                delay_ms(100);
        }                                                                                                      
        LCD_ShowString(30,90,200,16,16,"WK_UP:ROLE KEY0:SEND/STOP");  
        LCD_ShowString(30,110,200,16,16,"ATK-HC05 Standby!");  
          LCD_ShowString(30,160,200,16,16,"Send:");       
        LCD_ShowString(30,180,200,16,16,"Receive:");       

        POINT_COLOR=BLUE;
        HC05_Role_Show();          
        while(1)
        {               
                key=KEY_Scan(0);
                if(key==WKUP_PRES)                                                //ÇD»»Ä£¿éÖ÷′óéèÖÃ
                {
                           key=HC05_Get_Role();
                        if(key!=0XFF)
                        {
                                key=!key;                                          //×′ì¬è¡·′          
                                if(key==0)HC05_Set_Cmd("AT+ROLE=0");
                                else HC05_Set_Cmd("AT+ROLE=1");
                                HC05_Role_Show();
                                HC05_Set_Cmd("AT+RESET");        //¸′λATK-HC05Ä£¿é
                        }
                }else if(key==KEY0_PRES)
                {
                        sendmask=!sendmask;                                //·¢Ëí/í£Ö1·¢Ëí           
                        if(sendmask==0)LCD_Fill(30+40,160,240,160+16,WHITE);//Çå3yÏÔê¾
                }else delay_ms(10);          
                if(t==50)
                {
                        if(sendmask)                                        //¶¨ê±·¢Ëí
                        {
                                sprintf((char*)sendbuf,"ALIENTEK HC05 %d\r\n",sendcnt);
                                  LCD_ShowString(30+40,160,200,16,16,sendbuf);        //ÏÔê¾·¢Ëíêy¾Y       
                                u2_printf("ALIENTEK HC05 %d\r\n",sendcnt);                //·¢Ëíμ½à¶ÑàÄ£¿é
                                sendcnt++;
                                if(sendcnt>99)sendcnt=0;
                        }
                        HC05_Sta_Show();            
                        t=0;
                        LED0=!LED0;              
                }          
                if(USART2_RX_STA&0X8000)                        //½óêÕμ½ò»′Îêy¾YáË
                {
                        LCD_Fill(30,200,240,320,WHITE);        //Çå3yÏÔê¾
                        reclen=USART2_RX_STA&0X7FFF;        //μÃμ½êy¾Y3¤¶è
                          USART2_RX_BUF[reclen]=0;                 //¼óèë½áêø·û
                        if(reclen==9||reclen==8)                 //¿ØÖÆDS1¼ì2a
                        {
                                if(strcmp((const char*)USART2_RX_BUF,"+LED1 ON")==0)LED1=0;        //′ò¿aLED1
                                if(strcmp((const char*)USART2_RX_BUF,"+LED1 OFF")==0)LED1=1;//1رÕLED1
                        }
                        LCD_ShowString(30,200,209,119,16,USART2_RX_BUF);//ÏÔê¾½óêÕμ½μÄêy¾Y
                        USART2_RX_STA=0;         
                }                                                                                                                                                                        
                t++;       
        }                                                                                            
}


(寄存器版本,适合战舰V3和精英STM32开发板)扩展实验1 ATK-HC05蓝牙串口模块实验.rar

219.68 KB, 下载次数: 21, 下载积分: 黑币 -5

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

使用道具 举报

沙发
ID:594206 发表于 2019-10-30 22:14 | 只看该作者
复制出来的有点乱码 下载了就可以了
回复

使用道具 举报

板凳
ID:563554 发表于 2019-11-3 21:46 | 只看该作者
可以可以,大爱楼主
回复

使用道具 举报

地板
ID:563554 发表于 2019-11-3 21:47 | 只看该作者
必须赞一个
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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