主要是一个函数的使用,
串口助手发送的数据1

这个是接收1
if(USART_RX_BUF[0]=='1')
主函数这样写会
接收数据1 使LED闪烁
int main(void)
{
u8 t;
u8 len;
u8 mark=0;
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
uart_init(9600); //串口初始化为9600
LED_Init(); //初始化与LED连接的硬件接口
while(1)
{
if(USART_RX_STA&0x8000)
{
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);//等待发送结束
}
if(USART_RX_BUF[0]=='1')
{
mark=1;
if(mark==1)
{
for(i=0;i<20;i++)
{
GPIO_ResetBits(GPIOC,GPIO_Pin_1); //LED0输出低
GPIO_SetBits(GPIOD,GPIO_Pin_2);//LED1输出高
delay_ms(300);
GPIO_SetBits(GPIOC,GPIO_Pin_1);//L

最低0.47元/天 解锁文章
7370

被折叠的 条评论
为什么被折叠?



