1、CubeMX程序
1.1 Nano 组件
1.2 常规设置
- RCC设置
- SYS设置
- USART1设置
- 时钟设置
1.3 I2C1设置
1.4 NVIC设置
1.5 GPIO设置
1.6 TIM3设置
1.7 生成项目
2、KEIL程序
2.1新建AHT
项目文件下新建AHT,将AHT文件复制到里面
官网代码下载:软件下载-温湿度传感器 温湿度芯片 温湿度变送器模块 气体传感器 流量传感器 广州奥松电子股份有限公司
2.2添加AHT
2.3移植Modebus
-
解压在
demo
中新建STM32M
-
复制BARE和Modus全部文件到新建文件夹
-
复制STM32MB到MDK-ARM中
-
添加MB分组:STM32MB文件夹下modbus文件夹内所有文件
-
添加MB_Port分组:TM32MB文件夹下port文件夹内所有.c文件以及根目录的demo.c文件
-
添加文件路径2.4 portserial.c文件
#include "port.h"
#include "mb.h"
#include "mbport.h"
#include "usart.h"
void prvvUARTTxReadyISR( void );
void prvvUARTRxISR( void );
void
vMBPortSerialEnable( BOOL xRxEnable, BOOL xTxEnable )
{
/* If xRXEnable enable serial receive interrupts. If xTxENable enable
* transmitter empty interrupts.
*/
if (xRxEnable) //将串口收发中断和modbus联系起来,下面的串口改为自己使能的串口
{
__HAL_UART_ENABLE_IT(&huart1,UART_IT_RXNE); //我用的是串口1,故为&huart1
}
else
{
__HAL_UART_DISABLE_IT(&huart1,UART_IT_RXNE);
}
if (xTxEnable)
{
__HAL_UART_ENABLE_IT(&huart1,UART_IT_TXE);
}
else
{
__HAL_UART_DISABLE_IT(&huart1,UART_IT_TXE);
}
}
BOOL
xMBPortSerialInit( UCHAR ucPORT, ULONG ulBaudRate, UCHAR ucDataBits, eMBParity eParity )
{
return TRUE;
}
BOOL
xMBPo