OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1941|回复: 8

求助各位大神和原子哥,帮我找一下这个程序的问题在哪

[复制链接]

210

主题

773

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2018-3-26
在线时间
288 小时
发表于 2018-8-9 15:34:51 | 显示全部楼层 |阅读模式
1金钱
#include "stm32f10x.h"
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "usart.h"



void UartASendStr (u8 *pucStr, u8 ulNum)
{
u8 i;
for(i = 0;i<ulNum;i++)
{
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET)
    USART_SendData(USART1,*pucStr++);
}  
}

int main(void)
{       
         
        u8 key;
    u8 t;
          u8 i=0;
          unsigned char data;
    u8 len;
    u16 times=0;

       
  
       
   delay_init();
   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
   uart_init(2400);
   LED_Init();
   KEY_Init();

         
while(1)       
{  unsigned char buf[16]={0XFE,0XFE,0XFE,0XFE,0X68,0XAA,0XAA,0XAA,0XAA,0XAA,0XAA,0X68,0X13,0X00,0XDF,0X16};
       
      LED0=0;
                        UartASendStr(buf,16);
                       
   }
         
}
  }

[/mw_shl_code]

最佳答案

查看完整内容[请看2#楼]

这里的分号加与不加可是两种逻辑,可不是那么简单的,加上分号是等待发送完成才发下一字节的,不加可不是这个逻辑
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6679
金钱
6679
注册时间
2015-8-25
在线时间
1036 小时
发表于 2018-8-9 15:34:52 | 显示全部楼层
支持者2400 发表于 2018-8-9 15:52
程序没报错,加了分号,也没用

这里的分号加与不加可是两种逻辑,可不是那么简单的,加上分号是等待发送完成才发下一字节的,不加可不是这个逻辑
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

33

主题

1628

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6679
金钱
6679
注册时间
2015-8-25
在线时间
1036 小时
发表于 2018-8-9 15:42:57 | 显示全部楼层
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET)这里少了一个分号“;”
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复

使用道具 举报

11

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
494
金钱
494
注册时间
2013-11-26
在线时间
113 小时
发表于 2018-8-9 15:44:39 | 显示全部楼层
C定义变量要在所有执行语句的最前面  C++是可以在任意位置定义吧  我记得是这样
回复

使用道具 举报

210

主题

773

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2018-3-26
在线时间
288 小时
 楼主| 发表于 2018-8-9 15:52:54 | 显示全部楼层
szczyb1314 发表于 2018-8-9 15:42
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET)这里少了一个分号“;”

程序没报错,加了分号,也没用
回复

使用道具 举报

210

主题

773

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2018-3-26
在线时间
288 小时
 楼主| 发表于 2018-8-9 15:53:24 | 显示全部楼层
Dayfly 发表于 2018-8-9 15:44
C定义变量要在所有执行语句的最前面  C++是可以在任意位置定义吧  我记得是这样

是的,之前定义前面没用,我才定义下面的
回复

使用道具 举报

11

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
494
金钱
494
注册时间
2013-11-26
在线时间
113 小时
发表于 2018-8-9 15:56:16 | 显示全部楼层
没用?什么没用?你把错误信息贴出来看看吧  
回复

使用道具 举报

210

主题

773

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2018-3-26
在线时间
288 小时
 楼主| 发表于 2018-8-9 15:57:31 | 显示全部楼层
Dayfly 发表于 2018-8-9 15:56
没用?什么没用?你把错误信息贴出来看看吧

程序运行没错,就是没现象
回复

使用道具 举报

39

主题

535

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1065
金钱
1065
注册时间
2018-3-27
在线时间
378 小时
发表于 2018-8-9 16:50:53 | 显示全部楼层
先延时发送USART_SendData(USART1,'A'); 看看串口有没有通
再考虑其他
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-12 20:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表