誰(shuí)能幫我做網(wǎng)站網(wǎng)站引流推廣怎么做
系統(tǒng)功能:
系統(tǒng)分為主機(jī)端和從機(jī)端,主機(jī)端主動(dòng)向從機(jī)端發(fā)送信息和命令,從機(jī)端
收到主機(jī)端的信息后回復(fù)溫濕度氨氣濃度和光照強(qiáng)度等信息。
主要功能模塊原理圖:
電源時(shí)鐘燒錄接口:
單片機(jī)和按鍵輸入電路:
主機(jī)部分電路:
從機(jī)部分電路:
資料獲取地址
主從機(jī)部分代碼:
初始化代碼:?
/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init */InitVar();/* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_USART1_UART_Init();MX_USART2_UART_Init();/* USER CODE BEGIN 2 *///在HAL庫(kù)初始化串口1后調(diào)用HAL_Delay(100);SetUart1RxToInput();HAL_Delay(50);//uart1打開(kāi)接收中斷HAL_UART_Receive_IT(&huart1, (uint8_t*)&uart1RecBuff, 1);//uart2打開(kāi)接收中斷HAL_UART_Receive_IT(&huart2, (uint8_t*)&uart2RecBuff, 1);InitOled();InitOledDisp();
//藍(lán)牙模塊上報(bào)系統(tǒng)數(shù)據(jù)
?
void UpdateBleData(void){static uint8_t bleCnt = 0;bleCnt++;if(bleCnt>=BLE_UPDATE_INTER){bleCnt = 0;//顯示從機(jī)地址編號(hào) printf("SlaverAddr:01\r\n");//顯示溫濕度 printf("Temp:%02d Humi:%02d\r\n", getTempVal1, getHumiVal1);//顯示甲烷和光照值printf("CH4:%04d Light:%04d\r\n", getCH4Val1, getLightVal1);//顯示從機(jī)地址編號(hào) printf("SlaverAddr:02\r\n");//顯示溫濕度 printf("Temp:%02d Humi:%02d\r\n", getTempVal2, getHumiVal2);//顯示甲烷和光照值printf("CH4:%04d Light:%04d\r\n", getCH4Val2, getLightVal2);}}
主機(jī)請(qǐng)求從機(jī)數(shù)據(jù):
//主機(jī)發(fā)送請(qǐng)求數(shù)據(jù)給從機(jī)void uart2SendData(void){ static uint8_t sendCnt = 0;sendCnt++;if(sendCnt>=2){sendCnt = 0;//分時(shí)讀取兩從機(jī)數(shù)據(jù)switch(uart2AddrIndex){case SLAVER_ADDR_1: uart2TxBuff[0] = UART2_HEADER_DEF;uart2TxBuff[1] = SLAVER_ADDR_1;uart2TxBuff[2] = 0x00;uart2TxBuff[3] = uart2TxBuff[0]+uart2TxBuff[1]+uart2TxBuff[2];uart2SendPacket(uart2TxBuff, 4);uart2AddrIndex = SLAVER_ADDR_2;break;case SLAVER_ADDR_2:uart2TxBuff[0] = UART2_HEADER_DEF;uart2TxBuff[1] = SLAVER_ADDR_2;uart2TxBuff[2] = 0x00;uart2TxBuff[3] = uart2TxBuff[0]+uart2TxBuff[1]+uart2TxBuff[2];uart2SendPacket(uart2TxBuff, 4);uart2AddrIndex = SLAVER_ADDR_1; break;default:break;}}}
此設(shè)計(jì)提供的資料包含原理圖PCB(包含PDF,AD,立創(chuàng)EDA三個(gè)版本),源代碼,系統(tǒng)框圖,主程序流程圖,物料清單(包含使用到的器件手冊(cè)),功能操作說(shuō)明等。
通信協(xié)議等資料: