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

查看: 1837|回复: 1

[Lora] 【LoRa 模块免费送】LoRa 通讯之二:STM32F4+模块和PC互通

[复制链接]

35

主题

1405

回帖

22

蝴蝶豆

金牌会员

最后登录
2020-12-3
发表于 2018-4-22 12:43:49 | 显示全部楼层 |阅读模式
本帖最后由 damiaa 于 2018-4-23 11:57 编辑

【LoRa 模块免费送】LoRa 通讯之二:STM32F4+模块和PC互通1,准备电脑一台
2,模块2枚
loar3.jpg
4,下载STM32Cube_FW_F4_V1.21.0解压
5,打开串口通讯的例子
D:\st\stm32f429\en.stm32cubef4\STM32Cube_FW_F4_V1.21.0\Projects\STM32F429I-Discovery\Examples\UART\UART_TwoBoards_ComITModi
6,修改一下main.c如下:
uint8_t aTxBuffer[] = " ****Loar Test*** ";
uint8_t aRxBuffer[RXBUFFERSIZE];
/* Private function prototypes -----------------------------------------------*/
static void SystemClock_Config(void);
static void Error_Handler(void);
static uint16_t Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength);
/* Private functions ---------------------------------------------------------*/
/**
  * @brief  Main program
  * @param  None
  * @retval None
  */
int main(void)
{

  HAL_Init();
  /* Configure LED3 and LED4 */
  BSP_LED_Init(LED3);
  BSP_LED_Init(LED4);

  /* Configure the system clock to 180 MHz */
  SystemClock_Config();

  /*##-1- Configure the UART peripheral ######################################*/
  /* Put the USART peripheral in the Asynchronous mode (UART Mode) */
  /* UART1 configured as follow:
      - Word Length = 8 Bits
      - Stop Bit = One Stop bit
      - Parity = None
      - BaudRate = 9600 baud
      - Hardware flow control disabled (RTS and CTS signals) */
  UartHandle.Instance          = USARTx;

  UartHandle.Init.BaudRate     = 9600;
  UartHandle.Init.WordLength   = UART_WORDLENGTH_8B;
  UartHandle.Init.StopBits     = UART_STOPBITS_1;
  UartHandle.Init.Parity       = UART_PARITY_NONE;
  UartHandle.Init.HwFlowCtl    = UART_HWCONTROL_NONE;
  UartHandle.Init.Mode         = UART_MODE_TX_RX;
  UartHandle.Init.OverSampling = UART_OVERSAMPLING_16;
  if(HAL_UART_Init(&UartHandle) != HAL_OK)
  {
    Error_Handler();
  }
  /* Configure USER Button */
  BSP_PB_Init(BUTTON_KEY, BUTTON_MODE_GPIO);
        while(1)
        {        
                if(BSP_PB_GetState(BUTTON_KEY) != RESET)
                {
                        if(HAL_UART_Transmit_IT(&UartHandle, (uint8_t*)aTxBuffer, TXBUFFERSIZE)!= HAL_OK)
                        {
                                Error_Handler();
                        }
                        while (UartReady != SET)
                        {
                        }
                       UartReady = RESET;
                        /* Turn LED3 Off */
                        BSP_LED_On(LED3);
                        HAL_Delay(400);
                       BSP_LED_Off(LED3);        
                }
                if(HAL_UART_Receive_IT(&UartHandle, (uint8_t *)aRxBuffer, RXBUFFERSIZE) == HAL_OK)
                {
                        BSP_LED_On(LED4);
                        HAL_Delay(200);
                        BSP_LED_Off(LED4);
                }
        }
}

loar1.PNG
7,打开串口调试助手和编译运行429板子开始测试
loar2.jpg
8,按下429用户键,串口4收到429板子通过模块空中发来的消息。
9,串口4发送消息,429板子能收到数据10,429板子用 电池供电 ,串口4每一秒发送一次数据,429的LED4每秒闪动一次,这样就可以测试距离了。10,已经测试,初步估算1.5公里。细节有时间汇报。
5555.jpg
6666.jpg

1.5公里。电梯里面无信号。


回复

使用道具 举报

1182

主题

3785

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-3-17
发表于 2018-5-3 10:48:12 | 显示全部楼层
厉害了
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版