OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8407|回复: 9

分享个人写的lora SX1262 demo程序,帮助新手熟悉此芯片

[复制链接]

8

主题

61

帖子

0

精华

高级会员

Rank: 4

积分
685
金钱
685
注册时间
2019-4-24
在线时间
43 小时
发表于 2019-9-23 18:23:19 | 显示全部楼层 |阅读模式
本帖最后由 高成 于 2019-9-23 18:24 编辑

适用于SX1262的demo程序。
说明:这个是针对8位单片机写的,不过可以简单地移植到任意单片机上(只需要修改与具体平台相关的宏定义)
预览

sx1262.h
  • #ifndef _SX1262_H_
  • #define _SX1262_H_
  • #define SoftSPI
  • #include "SX1262CommandAndRegs.h"
  • #include "main.h"
  • #if 0
  • typedef unsigned char u8;
  • typedef unsigned int u16;
  • typedef unsigned long u32;
  • #endif
  • typedef struct
  • {
  •     u8   Power;
  •     u32 Frequency;
  •     u8 Bandwidth;
  •     u8 SpreadFactor;
  •     u8 LowDatarateOptimize;
  •     u8  Coderate;
  •     u16 PreambleLen;
  •     u8  HeaderType;
  •     u8  PayloadLen;
  •     u8  PacketCrc;
  •     u8  FreqHopOn;
  •     u8 HopPeriod;
  •     u8  IqInverted;
  •     u8    RxContinuous;
  • }RadioLoRaSettings_t;
  • #define          LED_GREEN                p1_1
  • #define          LED_RED                        p1_0
  • #define      SX1262_SPI_NSS_Pin      p1_5
  • #ifdef  SoftSPI
  • #define     SX1262_SPI_SCK_Pin      p1_6
  • #define     SX1262_SPI_MISO_Pin     p4_7
  • #define     SX1262_SPI_MOSI_Pin     p1_4
  • #endif // SoftSPI
  • #define      SX1262_NRST_Pin     p1_7
  • #define     SX1262_DIO1_Pin     p1_2
  • #define     SX1262_DIO2_Pin
  • #define     SX1262_DIO3_Pin
  • #define     SX1262_BusyPin      p1_3
  • #define     HIGH   1
  • #define     LOW     0
  • #define     SPI_NSS(LEVEL)   SX1262_SPI_NSS_Pin=LEVEL
  • #ifdef  SoftSPI
  • #define     SPI_SCK(LEVEL)      SX1262_SPI_SCK_Pin=LEVEL
  • #define     SPI_MISO()          SX1262_SPI_MISO_Pin
  • #define     SPI_MOSI(LEVEL)     SX1262_SPI_MOSI_Pin=LEVEL
  • #endif // SoftSPI
  • #define     RADIO_NRST(LEVEL)   SX1262_NRST_Pin=LEVEL
  • #define     RADIO_DIO1()        SX1262_DIO1_Pin
  • #define     RADIO_DIO2()
  • #define     RADIO_DIO3()
  • #define     RADIO_BusyPin()     SX1262_BusyPin
  • #define SetRadioPin(pin,state)   pin=state
  • #define GetRadioPin(pin)    pin
  • unsigned char spi_byte(unsigned char data);
  • u8 SPIWriteCmd(u8 size,u8 *p);
  • u8 SPIReadCmd(u8 cmd,u8 *p,u8 size);
  • u8 SPIReadRegister(u16 reg,u8 size,u8 *p);
  • u8 SPIWriteRegister(u8 *p,u8 size);
  • u8 SPIWriteBuffer(u8 offset,u8 *p,u8 size);
  • u8 SPIReadBuffer(u8 offset,u8 *p,u8 size);
  • void SX1262SetStandby(u8 p);
  • void SX1262SetPacketType(u8 p);
  • void SX1262SetFrequency(u32 freq);
  • void SX1262SetPaConfig(void);
  • void SX1262SetTxParams(void);
  • void SX1262SetBufferBaseAddress(u8 TXBaseadd,u8 RXBaseadd);
  • void SX1262SetModulationParams(u8 sf,u8 bw,u8 codingrate,u8 ldro);
  • void SX1262SetPacketParams(u16 prelen,u8 headertype,u8 payloadlen,u8 crc,u8 iq);
  • void SX1262SetAnt(void);
  • void SX1262SetTCXO_Ctrl(void);
  • void SX1262SetDioIrqParams(u16 INT,u16 dio1,u16 dio2,u16 dio3);
  • void SX1262Reset(void);
  • void port_init(void);
  • void SX1262SetRx_mode(u32  timeout);
  • void SX1262RX_init(u32 time);
  • void SX1262Clr_interrupt(u8 *p);
  • void SX1262SetTx_mode(u32 TimeOut);
  • void tx_data(u8 add,u8 *p,u8 size);
  • void check_busy(void);
  • void SX1262GetStatus(u8 *p);
  • void SX1262SetRegulatorMode(void);
  • void tx11(u8 add ,u8 *p,u8 size);
  • u8 SX1262GetReceiveLen(void);
  • u8 SX1262GetReceiveAdd(void);
  • int SX1262Init(RadioLoRaSettings_t LoRaSetting);
  • int RadioInit(void);
  • /*****extern variables****************/
  • extern RadioLoRaSettings_t LoRaSetting1;
  • #endif // _SX1262_H_



1262.zip

270.05 KB, 下载次数: 224

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

109

主题

5562

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10541
金钱
10541
注册时间
2017-2-18
在线时间
1908 小时
发表于 2019-9-24 12:17:31 | 显示全部楼层
回复 支持 反对

使用道具 举报

8

主题

61

帖子

0

精华

高级会员

Rank: 4

积分
685
金钱
685
注册时间
2019-4-24
在线时间
43 小时
 楼主| 发表于 2019-9-25 08:29:48 | 显示全部楼层

多谢支持,,,
回复 支持 反对

使用道具 举报

5

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
121
金钱
121
注册时间
2018-7-27
在线时间
86 小时
发表于 2019-10-15 15:58:10 | 显示全部楼层
CAD转Rx模式,相关的代码有吗
回复 支持 反对

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2019-12-11
在线时间
8 小时
发表于 2020-3-9 16:53:29 | 显示全部楼层
本帖最后由 liubuyangya 于 2020-3-20 16:24 编辑

谢谢老板
2020年3月20日
亲测不能使用,,
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2014-6-26
在线时间
10 小时
发表于 2020-4-20 14:17:53 | 显示全部楼层
多谢分享~~
回复 支持 反对

使用道具 举报

0

主题

47

帖子

0

精华

高级会员

Rank: 4

积分
695
金钱
695
注册时间
2019-1-26
在线时间
67 小时
发表于 2020-4-27 10:33:17 | 显示全部楼层
多谢分享~~
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2020-2-24
在线时间
4 小时
发表于 2020-4-27 11:46:52 | 显示全部楼层
多谢分享~~
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2020-4-15
在线时间
5 小时
发表于 2020-6-29 10:29:03 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2019-5-6
在线时间
2 小时
发表于 2020-10-9 14:41:15 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 12:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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