OpenEdv-开源电子网

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

STM32F207写了一个串口实验的程序不知道怎么回事不成功

[复制链接]

22

主题

131

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2016-6-6
在线时间
49 小时
发表于 2016-8-17 17:25:23 | 显示全部楼层 |阅读模式
1金钱
#include "stm32f2xx.h"


/************************************************
ALIENTEK 战舰STM32F103开发板实验0
工程模板
注意,这是手册中的新建工程章节使用的main文件
技术支持:www.openedv.com
淘宝店铺:http://eboard.taobao.com
关注微信公众平台微信号:"正点原子",免费获取STM32资料。
广州市星翼电子科技有限公司  
作者:正点原子 @ALIENTEK
************************************************/


void My_USART1_Init(void)
{
        GPIO_InitTypeDef GPIO_InitStrue;
        USART_InitTypeDef USART_InitStrue;
        NVIC_InitTypeDef NVIC_InitStrue;
       
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC,ENABLE);//①
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_UART4,ENABLE);
                //RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
        GPIO_InitStrue.GPIO_OType=GPIO_OType_PP;
        GPIO_InitStrue.GPIO_Mode=GPIO_Mode_AF;
        GPIO_InitStrue.GPIO_Pin=GPIO_Pin_10;
        GPIO_InitStrue.GPIO_Speed=GPIO_Speed_50MHz;
        //        GPIO_InitStrue.GPIO_PuPd=GPIO_PuPd_NOPULL;
        GPIO_InitStrue.GPIO_PuPd = GPIO_PuPd_UP;

  GPIO_Init(GPIOC,&GPIO_InitStrue);//②
       
        GPIO_InitStrue.GPIO_OType=GPIO_OType_OD;
                //GPIO_InitStrue.GPIO_Mode=GPIO_Mode_AF;
        //GPIO_InitStrue.GPIO_Mode=GPIO_Mode_IN;
        GPIO_InitStrue.GPIO_Pin=GPIO_Pin_11;
        GPIO_InitStrue.GPIO_Speed=GPIO_Speed_50MHz;
        //GPIO_InitStrue.GPIO_PuPd = GPIO_PuPd_UP;
        GPIO_InitStrue.GPIO_PuPd=GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOC,&GPIO_InitStrue);//②
       
        USART_InitStrue.USART_BaudRate=115200;
        USART_InitStrue.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
        USART_InitStrue.USART_Mode=USART_Mode_Tx|USART_Mode_Rx;
        USART_InitStrue.USART_Parity=USART_Parity_No;
        USART_InitStrue.USART_StopBits=USART_StopBits_1;
        USART_InitStrue.USART_WordLength=USART_WordLength_8b;
       
        USART_Init(UART4,&USART_InitStrue);//③
       
        USART_Cmd(UART4,ENABLE);//使能串口4
       
        USART_ITConfig(UART4,USART_IT_RXNE,ENABLE);//开启接收中断
       
        NVIC_InitStrue.NVIC_IRQChannel=UART4_IRQn;
        NVIC_InitStrue.NVIC_IRQChannelCmd=ENABLE;
        NVIC_InitStrue.NVIC_IRQChannelPreemptionPriority=1;
        NVIC_InitStrue.NVIC_IRQChannelSubPriority=1;
        NVIC_Init(&NVIC_InitStrue);
       
       
}

void USART1_IRQHandler(void)
{
        u8 res;
         if(USART_GetITStatus(UART4,USART_IT_RXNE))
{
     res= USART_ReceiveData(UART4);
     USART_SendData(UART4,res);   
  }
}

int main(void)
{       
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
        My_USART1_Init();
         while(1);
         
}


最佳答案

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

确定中断触发了吗
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

78

主题

271

帖子

0

精华

高级会员

Rank: 4

积分
695
金钱
695
注册时间
2013-10-20
在线时间
36 小时
发表于 2016-8-17 17:25:24 | 显示全部楼层
回复

使用道具 举报

22

主题

131

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2016-6-6
在线时间
49 小时
 楼主| 发表于 2016-8-17 17:25:47 | 显示全部楼层
就是跟着mini板的改的 为什么不行啊
回复

使用道具 举报

22

主题

131

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2016-6-6
在线时间
49 小时
 楼主| 发表于 2016-8-17 17:39:42 | 显示全部楼层
用的串口4
回复

使用道具 举报

22

主题

131

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2016-6-6
在线时间
49 小时
 楼主| 发表于 2016-8-17 17:43:30 | 显示全部楼层
回复

使用道具 举报

22

主题

131

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2016-6-6
在线时间
49 小时
 楼主| 发表于 2016-8-17 17:45:27 | 显示全部楼层
发送数据没有反应
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-8-17 19:58:59 | 显示全部楼层
帮顶
回复

使用道具 举报

22

主题

131

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2016-6-6
在线时间
49 小时
 楼主| 发表于 2016-8-17 22:22:28 | 显示全部楼层

谢谢,你也看不出来吗?
回复

使用道具 举报

22

主题

131

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2016-6-6
在线时间
49 小时
 楼主| 发表于 2016-8-18 15:04:18 | 显示全部楼层
没人吗
回复

使用道具 举报

78

主题

271

帖子

0

精华

高级会员

Rank: 4

积分
695
金钱
695
注册时间
2013-10-20
在线时间
36 小时
发表于 2016-8-18 15:26:08 | 显示全部楼层
为什么在串口中断发数据  是谁触发串口中断。。。。
回复

使用道具 举报

22

主题

131

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2016-6-6
在线时间
49 小时
 楼主| 发表于 2016-8-18 16:07:25 | 显示全部楼层
l692519765 发表于 2016-8-18 15:26
为什么在串口中断发数据  是谁触发串口中断。。。。

接收数据中断
回复

使用道具 举报

22

主题

131

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2016-6-6
在线时间
49 小时
 楼主| 发表于 2016-8-19 11:31:33 | 显示全部楼层

对 是中断的问题
回复

使用道具 举报

5

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2016-7-12
在线时间
9 小时
发表于 2016-8-19 15:24:10 | 显示全部楼层
没有配置管脚复用,调取void GPIO_PinAFConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF)函数配置下,F207的库函数和F1系列的有些差别。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-6 21:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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