- #include "led.h"
- #include "delay.h"
- #include "sys.h"
- #include "timer.h"
- #include "adc.h"
- #include "usart.h"
- #include "stdlib.h"
- int main(void)
- {
- u8 k = 0;
- u8 t;
- u8 len;
- u16 times=0;
- u16 i = 0;
- Adc_Init(); //ADC初始化
- delay_init(); //延时函数初始化
- uart_init(9600); //串口初始化为9600
- LED_Init(); //初始化与LED连接的硬件接口
- while(1){
-
- if(USART_RX_STA&0x8000)
- {
- k = 1;
- len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
- printf("\r\n您发送的消息为:\r\n");
- for(t=0;t<len;t++)
- {
- USART1->DR=USART_RX_BUF[t];
- while((USART1->SR&0X40)==0);//等待发送结束
- }
- i = atoi(USART_RX_BUF);
- if(k == 1){
- TIM3_Int_Init(i ,7199);//10Khz的计数频率,计数到5000为500ms
- k = 0;
- }
- printf("\r\n\r\n");//插入换行
- USART_RX_STA=0;
- }else
- {
- times++;
- if(times%200==0)
- //printf("请输入数据,以回车键结束\r\n");
- //printf("\r\n当前time为:%d\r\n",TIME);
- //if(times%30==0)LED0=!LED0;//闪烁LED,提示系统正在运行.
- delay_ms(10);
- }
- LED0=!LED0;
- delay_ms(200);
-
-
- }
- }
复制代码
如有错误,请大家多多指导,资料仅供参考:
STM32通过串口收发改LED.7z
(191.6 KB, 下载次数: 26)
|