ESP8266,STM32,局域網,驅動燈光的電路有個小bug,考驗你們,分享這么多資料了,需要的人該成長了。有上位機和下位機
Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
0.png (62.37 KB, 下載次數: 87)
下載附件
2019-7-14 01:03 上傳
0.png (97.52 KB, 下載次數: 83)
下載附件
2019-7-14 01:03 上傳
0.png (10.52 KB, 下載次數: 77)
下載附件
2019-7-14 01:03 上傳
0.png (2.87 KB, 下載次數: 83)
下載附件
2019-7-14 01:03 上傳
單片機源程序如下:
- #include "stm32f10x.h"
- #include "bsp_SysTick.h"
- #include "bsp_usart.h"
- #include "bsp_led.h"
- #include "bsp_esp8266.h"
- #include "bsp_pwm_output.h"
- extern uint8_t rxbuff[10];
- extern uint8_t Uart2_Sta;
- void USART_serve(void);
- void A412_serve(void);
- void A412_serve1(void);
- int main(void)
- {
- SysTick_Init();//配置SysTick 為1us中斷一次
- A412_GPIO_Config();//人體紅外引腳初始
- GENERAL_TIM_Init();//pwm初始化
- USARTx_Init();//初始化串口1
-
- ESP8266_Init();//ESP8266初始化
- ESP8266_TCP();//聯網
-
- printf("\r\n***STM32智能燈光系統***\r\n");
- while(1)
- {
- if(rxbuff[5]=='0')
- {
- if(rxbuff[4]=='0')
- A412_serve();
- }
- else
- {
- A412_serve1();//把它忽略,但不能刪除,否則失敗
- USART_serve();
- }
- Delay_ms(500);
- }
- }
- void USART_serve()
- {
- printf("A02ALF\r\n");
- if( Uart2_Sta==1 )
- {
- Uart2_Sta=0;
- if(rxbuff[5]=='0'){TIM_SetCompare1(GENERAL_TIM,0);}
- if(rxbuff[5]=='1'){TIM_SetCompare1(GENERAL_TIM,400);}
- if(rxbuff[5]=='2'){TIM_SetCompare1(GENERAL_TIM,800);}
- if(rxbuff[5]=='3'){TIM_SetCompare1(GENERAL_TIM,1000);}
- if(rxbuff[5]=='4'){TIM_SetCompare1(GENERAL_TIM,1200);}
- if(rxbuff[5]=='5'){TIM_SetCompare1(GENERAL_TIM,1400);}
- if(rxbuff[5]=='6'){TIM_SetCompare1(GENERAL_TIM,1800);}
- if(rxbuff[5]=='7'){TIM_SetCompare1(GENERAL_TIM,2200);}
- if(rxbuff[5]=='8'){TIM_SetCompare1(GENERAL_TIM,2600);}
- if(rxbuff[5]=='9'){TIM_SetCompare1(GENERAL_TIM,3000);}
- if(rxbuff[4]=='1'&&rxbuff[5]=='0'){TIM_SetCompare1(GENERAL_TIM,3600);}
- }
- }
- void A412_serve(void)
- {
- if(GPIO_ReadInputDataBit(A412_PORT, A412_Pin)==1)
- {
- printf("A02H1F\r\n");
- TIM_SetCompare1(GENERAL_TIM,3600);
- }
- if(GPIO_ReadInputDataBit(A412_PORT, A412_Pin)==0)
- {
- printf("A02H0F\r\n");
- TIM_SetCompare1(GENERAL_TIM,0);
- }
- }
- void A412_serve1(void)
- {
- Delay_ms(1);
- // if(GPIO_ReadInputDataBit(A412_PORT, A412_Pin)==1)
- // {
- // printf("A02H1F\r\n");
- // }
- // if(GPIO_ReadInputDataBit(A412_PORT, A412_Pin)==0)
- // {
- // printf("A02H0F\r\n");
- //
- // }
- }
復制代碼
所有資料51hei提供下載:
PCB及PDF.zip
(8.34 MB, 下載次數: 151)
2019-7-13 22:36 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
智能燈光下位機源代碼.7z
(191.6 KB, 下載次數: 142)
2019-7-14 01:05 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
上位機運行程序.zip
(422.98 KB, 下載次數: 134)
2019-7-13 22:36 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
上位機源代碼.zip
(600.92 KB, 下載次數: 146)
2019-7-13 22:36 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|