OpenEdv-开源电子网

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

求助,请帮帮看看为什么在串口中断服务函数中灯不灭。

[复制链接]

2

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-10-16
在线时间
0 小时
发表于 2015-10-16 17:59:36 | 显示全部楼层 |阅读模式
5金钱

 

#include "stm32f10x.h"
#include "delay.h"
#include "sys.h"
#define LED0 PAout(8)
#define LED1 PDout(2)
void My_USART_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure; 
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); 
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD|RCC_APB2Periph_AFIO,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);
 
 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; 
GPIO_Init(GPIOA,&GPIO_InitStructure);
LED0=0;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; 
GPIO_Init(GPIOD,&GPIO_InitStructure);
LED0=1;
 

USART_InitStructure.USART_BaudRate=115200;
USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;
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);

USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);

NVIC_InitStructure.NVIC_IRQChannel=USART1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;
NVIC_Init(&NVIC_InitStructure);
}
void USART1_IRQHandler(void)
{
 u8 yyl;
if(USART_GetITStatus(USART1,USART_IT_RXNE))
{
 
 yyl=USART_ReceiveData(USART1);
 USART_SendData(USART1,yyl);
  LED0=!LED0;
 LED1=!LED1;


 


}


int main(void)
{

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
My_USART_Init(); 
delay_init();
 
while(1){
 

}
}
 


 

 

串口.rar

4.33 MB, 下载次数: 44

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-10-16 21:46:26 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-10-16
在线时间
0 小时
 楼主| 发表于 2015-10-17 07:59:15 | 显示全部楼层
回复【2楼】正点原子:
-----------------我仿真过了,两个灯不是取反,一亮一灭。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-10-18 21:36:26 | 显示全部楼层
回复【3楼】yyl:
---------------------------------
为什么和你预期不一样?
问题出在哪一句?
什么原因引起的?
你分析过没?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2015-10-16
在线时间
0 小时
 楼主| 发表于 2015-10-19 07:45:00 | 显示全部楼层
我也不知道为什么啊,为什么在中断服务函数中加两个灯取反,灯就不正常亮灭。我是新手啊,求大神指点。谢谢
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-10-20 23:19:05 | 显示全部楼层
回复【5楼】yyl:
---------------------------------
仿真跟踪代码.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2016-4-10
在线时间
3 小时
发表于 2016-4-11 11:01:19 | 显示全部楼层
正点原子 发表于 2015-10-20 23:19
回复【5楼】yyl:
---------------------------------
仿真跟踪代码.

为什么硬件调试跟踪代码的时候进入不了串口中断服务函数
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
19
金钱
19
注册时间
2016-4-11
在线时间
2 小时
发表于 2016-4-11 14:13:27 | 显示全部楼层
。。我个人感觉应该把,更改灯状态的命令写在主函数里面,不要写在初始化USART的函数里。
我看有些资料说,中断一般都是接受数据,发送数据也最好写在主函数里。至于你的问题···我不太清楚,难道是因为USART初始化的时候你已经设置的灯的状态···你问问原子哥
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 08:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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