OpenEdv-开源电子网

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

关于USART的问题~~

[复制链接]

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2015-7-31
在线时间
1 小时
发表于 2015-8-1 16:36:31 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true]#include "sys.h" #include "delay.h" #include "stm32f10x_flash.h" void My_USART1_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Mode= GPIO_Mode_IN_FLOATING;; GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); USART_InitStructure.USART_BaudRate= 9600; USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None ; USART_InitStructure.USART_Mode= USART_Mode_Tx|USART_Mode_Rx; USART_InitStructure.USART_Parity=USART_Parity_No; USART_InitStructure.USART_StopBits=USART_StopBits_1; USART_InitStructure.USART_WordLength= USART_WordLength_8b; USART_Init(USART1,&USART_InitStructure); USART_Cmd(USART1,ENABLE); } int main (void) { u8 i; char *str; str="abcdefg"; My_USART1_Init(); while(*str) { USART_SendData(USART1,*str); while(USART_GetFlagStatus(USART1, USART_FLAG_TC)==RESET); delay_ms(200); str++; } }[/mw_shl_code]
请问:为什么在串口助手上无法显示?我试过通过将字符串通过串口助手发送给STM32然后再使stm32将数据发送出来,串口助手就可以正常显示!!这是为什么??这个问题困扰好几天了 求教!!

最佳答案

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

应该有显示才对,你的延时函数,估计没有运行,因为没有初始化。 另外,主函数while是可以跳出的,不符合main函数的要求,建议后面再加死循环。 综上,你的应该至少一个字符显示,应该可以正常,剩下的,你debug调试下,就知道问题在哪里了。 困扰几天,完全不至于的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165462
金钱
165462
注册时间
2010-12-1
在线时间
2114 小时
发表于 2015-8-1 16:36:32 | 显示全部楼层
应该有显示才对,你的延时函数,估计没有运行,因为没有初始化。
另外,主函数while是可以跳出的,不符合main函数的要求,建议后面再加死循环。

综上,你的应该至少一个字符显示,应该可以正常,剩下的,你debug调试下,就知道问题在哪里了。
困扰几天,完全不至于的。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2015-7-31
在线时间
1 小时
 楼主| 发表于 2015-8-1 19:08:09 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢谢原子哥~~我一直在调 !但是按您说在串口助手根本不显示~ 我试过很多方法 串口助手都没任何显示!只有自己给自己发可以接收到!不知道是什么原因!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165462
金钱
165462
注册时间
2010-12-1
在线时间
2114 小时
发表于 2015-8-1 19:46:51 | 显示全部楼层
回复【3楼】zz825:
---------------------------------
那就先学习我们的串口例程吧
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2015-8-3
在线时间
0 小时
发表于 2015-8-6 15:15:29 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
原子哥,我用你写的实例发送数据就可以在串口调试助手上显示,但是用你上课教我们写的那个就只能发送数据,串口调试助手不显示。不知道为什么啊。。。。
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2015-8-3
在线时间
0 小时
发表于 2015-8-6 15:17:52 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
#include "exti.h"
#include "delay.h" 
#include "led.h" 
#include "key.h"
#include "beep.h"


void EXTIX_Init(void)
{
   EXTI_InitTypeDef EXIT_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB2PeriphClockLPModeCmd(RCC_APB2Periph_SYSCFG,ENABLE);

KEY_Init();

SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOE,EXTI_PinSource4);

EXIT_InitStructure.EXTI_Line=EXTI_Line4;
EXIT_InitStructure.EXTI_LineCmd=ENABLE;
EXIT_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
EXIT_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;
EXTI_Init(&EXIT_InitStructure);

NVIC_InitStructure.NVIC_IRQChannel=EXTI4_IRQn;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;



NVIC_Init(&NVIC_InitStructure);
   
}


void EXTI4_IRQHandler(void)
{
  delay_ms(10);
if(KEY0==0)
{
  LED0=!LED0;
LED1=!LED1;

}
  EXTI_ClearITPendingBit(EXTI_Line4);

}
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2015-8-3
在线时间
0 小时
发表于 2015-8-6 15:21:48 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
这是那个外部中断的实验,用Jlink下载的。下载后开发板完全没显示,原来Main函数里的LED=0,但是灯也没有亮,我是看着你教的实验去写的,代码都一样,就是没显示。用例程就没出现问题
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-4-20 17:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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