你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 1564|回复: 0

[Lora] 【LoRa模块测评】实现休眠模式读取配置

[复制链接]

100

主题

3617

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-12-8
发表于 2018-4-17 08:16:15 | 显示全部楼层 |阅读模式
接上篇:LoRa模块初看




本贴主要实现在休眠模式下读取模块的配置从手册的6.5休眠模式的简介可以知道默认的TTL配置
捕获.JPG
按照手册提供的管脚分配开始实现接线
11.jpg
pin1是M0,pin2是M1,pin3是RX,pin4是TX,对应的管脚见上图,对应的USART6。
本次使用的板卡为正点原子的探索者F407开发板2块,
由于本人喜欢寄存器配置,所以直接拷贝了寄存器例程13----实验13 TFTLCD显示实验
在usart.c中实现usart6的相关实现如下

  1. void uart6_init(u32 pclk2,u32 bound)
  2. {           
  3.         float temp;
  4.         u16 mantissa;
  5.         u16 fraction;           
  6.         temp=(float)(pclk2*1000000)/(bound*16);//µÃµ½USARTDIV@OVER8=0
  7.         mantissa=temp;                                 //µÃµ½ÕûÊý²¿·Ö
  8.         fraction=(temp-mantissa)*16; //µÃµ½Ð¡Êý²¿·Ö@OVER8=0
  9.     mantissa<<=4;
  10.         mantissa+=fraction;
  11.         RCC->AHB1ENR|=1<<6;           //ʹÄÜPORTA¿ÚʱÖÓ  
  12.         RCC->APB2ENR|=1<<5;          //ʹÄÜ´®¿Ú6ʱÖÓ
  13.         GPIO_Set(GPIOG,PIN9|PIN14,GPIO_MODE_AF,GPIO_OTYPE_PP,GPIO_SPEED_50M,GPIO_PUPD_PU);//PA9,PA10,¸´Óù¦ÄÜ,ÉÏÀ­Êä³ö
  14.          GPIO_AF_Set(GPIOG,9,8);        //PA9,AF7
  15.         GPIO_AF_Set(GPIOG,14,8);//PA10,AF7            
  16.         //²¨ÌØÂÊÉèÖÃ
  17.          USART6->BRR=mantissa;         //²¨ÌØÂÊÉèÖà        
  18.         USART6->CR1&=~(1<<15);         //ÉèÖÃOVER8=0
  19.         USART6->CR1|=1<<3;          //´®¿Ú·¢ËÍʹÄÜ

  20.         //ʹÄܽÓÊÕÖжÏ
  21.         USART6->CR1|=1<<2;          //´®¿Ú½ÓÊÕʹÄÜ
  22.         USART6->CR1|=1<<5;            //½ÓÊÕ»º³åÇø·Ç¿ÕÖжÏʹÄÜ                    
  23.         MY_NVIC_Init(3,3,USART6_IRQn,2);//×é2£¬×îµÍÓÅÏȼ¶

  24.         USART6->CR1|=1<<13;          //´®¿ÚʹÄÜ
  25. }

  26. void uart6_sendbyte(u8 ch)
  27. {
  28.     while((USART6->SR&0X40)==0);//Ñ­»··¢ËÍ,Ö±µ½·¢ËÍÍê±Ï   
  29.         USART6->DR = (u8) ch;   
  30. }   

  31. void uart6_send(u8* ptr,u16 size)
  32. {
  33.     while(size--)
  34.     {
  35.         while((USART6->SR&0X40)==0);
  36.         USART6->DR = *ptr++;
  37.     }
  38. }

  39. u8 lorarcv[512];
  40. u16 loralen=0;
  41. void USART6_IRQHandler(void)
  42. {
  43. #if SYSTEM_SUPPORT_OS                 //Èç¹ûSYSTEM_SUPPORT_OSÎªÕæ£¬ÔòÐèÒªÖ§³ÖOS.
  44.         OSIntEnter();   
  45. #endif
  46.         if(USART6->SR&(1<<5))//½ÓÊÕµ½Êý¾Ý
  47.         {         
  48.                 lorarcv[loralen]=USART6->DR;
  49.                 uart1_sendbyte(lorarcv[loralen]);
  50.         loralen++;        
  51.         }
  52.     if(loralen == 6)
  53.         loralen = 0;
  54. #if SYSTEM_SUPPORT_OS         //Èç¹ûSYSTEM_SUPPORT_OSÎªÕæ£¬ÔòÐèÒªÖ§³ÖOS.
  55.         OSIntExit();                                                                                          
  56. #endif
  57. }
复制代码
在main函数里面添加
u8 Tx_buffer[3]={0xc1,0xc1,0xc1};
u8 Tx_buffer1[3]={0xc3,0xc3,0xc3};


uart6_init(84,9600);               

uart6_send(Tx_buffer,3);
delay_ms(5000);
uart6_send(Tx_buffer1,3);
delay_ms(5000);

可以发现串口助手里面会接收到默认的配置参数
12.jpg

这些配置官方手册都有,就不多说了,



回复

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版