OpenEdv-开源电子网

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

串口

[复制链接]

36

主题

96

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
244
金钱
244
注册时间
2012-11-11
在线时间
14 小时
发表于 2012-12-5 13:49:19 | 显示全部楼层 |阅读模式
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "led.h" 
#include "beep.h"  
#include "key.h"  
//ALIENTEK战舰STM32开发板实验4
//串口实验  
//技术支持:www.openedv.com
//广州市星翼电子科技有限公司 
int main(void)
{
u16 t;
u16 len;
u16 times=0; 
u16 t1;  
Stm32_Clock_Init(9); //系统时钟设置
uart_init(72,9600); //串口初始化为9600
delay_init(72);   //延时初始化 
LED_Init();   //初始化与LED连接的硬件接口
BEEP_Init();         //初始化蜂鸣器端口
KEY_Init();         //初始化与按键连接的硬件接口
  while(1)
{
if(USART_RX_STA&0x8000)
{   
len=USART_RX_STA&0x3FFF;//得到此次接收到的数据长度
printf("\r\n您发送的消息为:\r\n\r\n");
for(t=0;t<len;t++)
{
USART1->DR=USART_RX_BUF[t];
while((USART1->SR&0X40)==0);//等待发送结束
}
printf("\r\n\r\n");//插入换行
USART_RX_STA=0;
}else
{
times++;
if(times%5000==0)
{
printf("\r\n战舰STM32开发板 串口实验\r\n");
printf("正点原子@ALIENTEK\r\n\r\n");
}
if(times%200==0)printf("请输入数据,以回车键结束\r\n"); 
//if(times%30==0)LED0=!LED0;//闪烁LED,提示系统正在运行.
delay_ms(10);   
}
t1=USART1->DR;
if(t1==0x30)
{
LED1=0;
delay_ms(1000);
LED1=1;
}
}  
}
当我在丁丁写的那个串口助手写入9的时候发送,都没有反应,求解答
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-12-5 14:14:29 | 显示全部楼层
发送回车了么?发送新行的勾选项,选了么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

36

主题

96

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
244
金钱
244
注册时间
2012-11-11
在线时间
14 小时
 楼主| 发表于 2012-12-5 21:18:03 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
不行呢
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-12-5 21:21:13 | 显示全部楼层
直接下载我们原本的代码测试下。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

36

主题

96

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
244
金钱
244
注册时间
2012-11-11
在线时间
14 小时
 楼主| 发表于 2012-12-5 21:22:07 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
我一直按发送,结果乱码了,灯亮了
回复 支持 反对

使用道具 举报

36

主题

96

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
244
金钱
244
注册时间
2012-11-11
在线时间
14 小时
 楼主| 发表于 2012-12-5 21:28:25 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
我就是用你们的代码,我只是在你们的main文件中加入了t1=USART1->DR;
if(t1==0x0d)
{
LED0=0;
LED1=1;
}
这几个语句而已
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-12-5 21:33:22 | 显示全部楼层
你在这里:
t1=USART1->DR;
if(t1==0x30)
{
LED1=0;
delay_ms(1000);
LED1=1;
}
不停的读DR,不要这么搞!
搞得中断都可能没法进入了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-12-5 21:34:05 | 显示全部楼层
把你那个t1=USART1->DR; 去掉
要想通过串口控制,从USART_RX_BUF着手,不是很好么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

36

主题

96

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
244
金钱
244
注册时间
2012-11-11
在线时间
14 小时
 楼主| 发表于 2012-12-5 21:59:51 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
原子哥求修改的程序
回复 支持 反对

使用道具 举报

36

主题

96

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
244
金钱
244
注册时间
2012-11-11
在线时间
14 小时
 楼主| 发表于 2012-12-5 22:38:07 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
可以给我一个简单的有我通过串口发送到ARM会有反映的程序吗,求参考啊
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-19 04:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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