ec20 stm32 阿里云完整源码:
sunctrl.7z
(2.95 MB, 售价: 1 E币)
部分源码:
- #pragma import(__use_no_semihosting)
- //标准库需要的支持函数
- struct __FILE
- {
- int handle;
- };
- FILE __stdout;
- //定义_sys_exit()以避免使用半主机模式
- void _sys_exit(int x)
- {
- x = x;
- }
- //重定义fputc函数
- int fputc(int ch, FILE *f)
- {
- while((USART1->SR&0X40)==0);//循环发送,直到发送完毕
- USART1->DR = (uint8_t) ch;
- return ch;
- }
- #endif
- ///////////////////////////////////////////////////////////////
- void Usart1SendData_DMA(uint8_t *pdata, uint16_t Length)
- {
- // while( huart1.gState != HAL_UART_STATE_READY);
-
- //while(UsartType1.dmaSend_flag == USART_DMA_SENDING);
- UsartType1.dmaSend_flag = USART_DMA_SENDING;
- HAL_UART_Transmit_DMA(&huart1, pdata, Length);
-
- }
- void Usart2SendData_DMA(uint8_t *pdata, uint16_t Length)
- {
- //while( huart2.gState != HAL_UART_STATE_READY);
-
- //while(UsartType2.dmaSend_flag == USART_DMA_SENDING);
- UsartType2.dmaSend_flag = USART_DMA_SENDING;
- HAL_UART_Transmit_DMA(&huart2, pdata, Length);
-
- }
- void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
- {
- __HAL_DMA_DISABLE(huart->hdmatx);
- UsartType1.dmaSend_flag = USART_DMA_SENDOVER;
- UsartType2.dmaSend_flag = USART_DMA_SENDOVER;
- UsartType3.dmaSend_flag = USART_DMA_SENDOVER;
- }
- void START_TIM3()
- {
- #ifdef EN_WD
- IDWG_FEED();
- #endif
- //TIM3_Count=0;
- HAL_TIM_Base_Start_IT(&htim3);
- }
- void END_TIM3()
- {
- HAL_TIM_Base_Stop_IT(&htim3);
- }
- //uint8_t END_TIM3(uint16_t n)
- //{
- // if(n==0)
- // {
- // HAL_TIM_Base_Stop_IT(&htim3);
- // return 1;
- // }
- // else
- // {
- // if(n<TIM3_Count)
- // {
- // HAL_TIM_Base_Stop_IT(&htim3);
- // TIM3_Count=0;
- // return 1;
- // }
- // }
- // return 0;
- //}
- void GetMeassage(char *LMeassage)
- {
- char *ret;
- char buf[20];
- uint16_t i=0;
- uint16_t j=0;
- memset(&buf,0,20);
-
- // j=0;i=0;ret=NULL;
- // ret=strstr(LMeassage,"+QMTSTAT: 0,");
- //
- // if(ret!=NULL)
- // {
- //
- // }
-
- ///////////////////////////////////////////////////Switch1
- j=0;i=0;ret=NULL;
- ret=strstr(LMeassage,"Switch1");
- if(ret!=NULL)
- {
- Rseponse=1;
- if(ret[9]=='1')
- OPEN(0);
- else
- {
- CLOSE(0);
- }
- }
- ///////////////////////////////////////////////////Switch2
- j=0;i=0;ret=NULL;
- ret=strstr(LMeassage,"Switch2");
- if(ret!=NULL)
- {
- Rseponse=1;
- if(ret[9]=='1')
- OPEN(1);
- else
- {
- CLOSE(1);
- }
- }
- ///////////////////////////////////////////////////Switch3
- j=0;i=0;ret=NULL;
- ret=strstr(LMeassage,"Switch3");
- if(ret!=NULL)
- {
- Rseponse=1;
- if(ret[9]=='1')
- OPEN(2);
- else
- {
- CLOSE(2);
- }
- }
- ///////////////////////////////////////////////////Switch4
- j=0;i=0;ret=NULL;
- ret=strstr(LMeassage,"Switch4");
- if(ret!=NULL)
- {
- Rseponse=1;
- if(ret[9]=='1')
- OPEN(3);
- else
- {
- CLOSE(3);
- }
- }
- ///////////////////////////////////////////////////Switch5
- j=0;i=0;ret=NULL;
- ret=strstr(LMeassage,"Switch5");
- if(ret!=NULL)
- {
- Rseponse=1;
- if(ret[9]=='1')
- OPEN(4);
- else
- {
- CLOSE(4);
- }
- }
- ///////////////////////////////////////////////////Switch6
- j=0;i=0;ret=NULL;
- ret=strstr(LMeassage,"Switch6");
- if(ret!=NULL)
- {
- Rseponse=1;
- if(ret[9]=='1')
- OPEN(5);
- else
- {
- CLOSE(5);
- }
- }
-
- ///////////////////////////////////////////////////找QRcode
- j=0;i=0;ret=NULL;
- ret=strstr(LMeassage,"QRcode");
- if(ret!=NULL)
- {
- if(UsartType2.rx_len>1024)
- {
- Meassage.Error_Code=53;//设置二维码error
- }
- //printf("%s",ret+9);
- else
- {
- if(ret[8]=='"')
- {
- memset(Meassage.QRcode,0,sizeof(Meassage.QRcode));
-
-
- for(i=0;i<UsartType2.rx_len;i++)
- {
- if(ret[9+i]=='"')break;
- Meassage.QRcode[j]=ret[i+9];
- j++;
- }
- nowSysParam.saveFlag=0x55;
- memcpy(&nowSysParam.saveData,&Meassage.QRcode,sizeof(Meassage.QRcode)); //????????????
- w25q_eraseSector(0x0000);
- w25q_writeNoCheck((uint8_t *)&nowSysParam,0x0000,sizeof(nowSysParam));//???????flash?
-
- Meassage.Error_Code=52;//设置二维码成功
- // printf("Meassage.QRcode:%s\r\n",Meassage.QRcode);
-
- }
- else
- {
- Meassage.Error_Code=53;//设置二维码成功失败
- }
- }
- Rseponse=1;
- }
- ……………………
- …………限于本文篇幅 余下代码请下载附件…………
复制代码
【必读】版权免责声明
1、本主题所有言论和内容纯属会员个人意见,与本论坛立场无关。2、本站对所发内容真实性、客观性、可用性不做任何保证也不负任何责任,网友之间仅出于学习目的进行交流。3、对提供的数字内容不拥有任何权利,其版权归原著者拥有。请勿将该数字内容进行商业交易、转载等行为,该内容只为学习所提供,使用后发生的一切问题与本站无关。 4、本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。 5、本网站所有软件和资料均为网友推荐收集整理而来,仅供学习用途使用,请务必下载后两小时内删除,禁止商用。6、如有侵犯你版权的,请及时联系我们(电子邮箱1370723259@qq.com)指出,本站将立即改正。
|
|