OpenEdv-开源电子网

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

新人又来了,这次是关于串口中断的。

[复制链接]

2

主题

3

帖子

0

精华

新手入门

积分
31
金钱
31
注册时间
2013-7-11
在线时间
0 小时
发表于 2013-7-16 16:32:24 | 显示全部楼层 |阅读模式
#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_usart.h"
    
void GPIO_Initialization()                     
{
    GPIO_InitTypeDef GPIO_InitStructure;  //从GPIO_InitTypeDef 开始找,还要加上GPIO_Init
    GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;
    GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
    GPIO_Init(GPIOA,&GPIO_InitStructure);

    GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;
    GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
    GPIO_Init(GPIOA,&GPIO_InitStructure);
}

void USART_Interrupt()
{
    #if EN_USART1_RX          //如果使能了接收 
   //Usart1 NVIC 配置
    NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3 ;//抢占优先级3
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;        //子优先级3
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;            //IRQ通道使能
    NVIC_Init(&NVIC_InitStructure);    //根据指定的参数初始化VIC寄存器
    USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); //开启接收中断
    USART_ITConfig(USART1, USART_IT_TXE, ENABLE);
    #endif   
    USART_Cmd(USART1, ENABLE);   
       
}

void RCC_Initialization()

{

    SystemInit();

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_USART1, ENABLE ); //或标志,启动了GPIO B和E的 时钟。控制GPIO口
                                                                                   //先要初始化GPIO口和RCC(时钟)

}

void USART_Initialization()
{
    USART_InitTypeDef USART_InitStructure;

    USART_InitStructure.USART_BaudRate=9600;
    USART_InitStructure.USART_WordLength=USART_WordLength_8b;
    USART_InitStructure.USART_StopBits=USART_StopBits_1;
    USART_InitStructure.USART_Parity=USART_Parity_No;
    USART_InitStructure.USART_Mode=USART_Mode_Rx | USART_Mode_Tx;
    USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;   
    USART_Init(USART1, &USART_InitStructure);

}

void USART_Reset()
{
    USART_DeInit(USART1);
}

void Delay(vu32 n)
{
    for(;n!=0;n--);
}


int main()
{       

    RCC_Initialization();
    USART_Reset();
    GPIO_Initialization();
    USART_Initialization();
    USART_Interrupt();
    while(1)
        {           
            if(USART_GetITStatus(USART1, USART_IT_RXNE)!= RESET)
            {
                u8 res;
                res=USART_ReceiveData(USART1);
                USART_SendData(USART1,res);
                Delay(50);
            }   
        }
}

又是按着实验改了,本来不加和中断相关的语句。能写能读,但是一直在读数据。 加了和中断相关的语句以后,写完数据,读不出来。。。串口助手R一直为0,这什么情况。


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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-16 16:53:09 | 显示全部楼层
检查你的代码,和例程的区别.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

9

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2013-7-13
在线时间
0 小时
发表于 2013-7-17 16:57:18 | 显示全部楼层
原子哥,这个例程在哪儿?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-17 17:00:17 | 显示全部楼层
回复【3楼】 峰哥哥09 :
---------------------------------
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2013-7-18
在线时间
0 小时
发表于 2013-7-18 00:20:40 | 显示全部楼层
这个论坛不能搜索帖子?
好好学习,明天向上
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-18 11:03:57 | 显示全部楼层
回复【5楼】kuangnan:
---------------------------------
看页面开始处的右上角,有好几个按钮.相信你找得到.
要不干脆就ctrl+f 在页面里面查找:搜索  这两个关键字吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2013-7-18
在线时间
0 小时
发表于 2013-7-18 22:11:11 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
呵呵 不好意思 刚来论坛   现在知道了
好好学习,明天向上
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-17 05:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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