你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F030F4的USART2有谁用过?还有USART1用了就不能使用I2C了?

[复制链接]
SunnyD 提问时间:2016-7-13 17:53 /
我USART1配置好了能通信,但是按同样方式配置USART2就不能通信?不知道是什么问题。还有个问题如果串口USART1占用了 I2C1是不是就不能用了 引文都在PA9 和PA10上。
代码下面:
void USART1_uConfiguration(void)
{
        GPIO_InitTypeDef   GPIO_uInitStructure;
        USART_InitTypeDef  USART_uInitStructure;
        
        // USART1_TX -> PA9
  // USART1_RX -> PA10
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA,ENABLE);
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);
        
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource2,GPIO_AF_1);
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource3,GPIO_AF_1);
        
        GPIO_uInitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3;
        GPIO_uInitStructure.GPIO_Mode = GPIO_Mode_AF;
        GPIO_uInitStructure.GPIO_OType = GPIO_OType_PP;  
        GPIO_uInitStructure.GPIO_PuPd = GPIO_PuPd_UP;
        GPIO_uInitStructure.GPIO_Speed = GPIO_Speed_50MHz;  // 50M
        GPIO_Init(GPIOA,&GPIO_uInitStructure);
        
        USART_uInitStructure.USART_BaudRate = 115200;
        USART_uInitStructure.USART_Parity = USART_Parity_No;
        USART_uInitStructure.USART_StopBits = USART_StopBits_1;
        USART_uInitStructure.USART_WordLength = USART_WordLength_8b;
        USART_uInitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
        USART_uInitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
        USART_Init(USART2,&USART_uInitStructure);
        
        USART_ITConfig(USART2,USART_IT_RXNE,ENABLE);
        
  USART_Cmd(USART2,ENABLE);
}


void NVIC_uConfiguration(void)
{
  NVIC_InitTypeDef        NVIC_InitStructure;

  NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;        
  NVIC_InitStructure.NVIC_IRQChannelPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);                                                                                                                                                                                                               
}


void USART1_RecTask(void)
{
        INT8U ubTemp = 0;
        
        if(USART_GetITStatus(USART2,USART_IT_RXNE) != RESET)
        {
                ubTemp = USART_ReceiveData(USART2);
                USART_SendData(USART2,ubTemp);
                while(USART_GetFlagStatus(USART2,USART_FLAG_TC) != SET);
        }
}

收藏 1 评论5 发布时间:2016-7-13 17:53

举报

5个回答
SunnyD 回答时间:2016-7-13 17:54:54
自己顶一下  在网上搜  感觉没人用过stm32f030f4的USART2一样,搜不到。搞了一下午老火的
SunnyD 回答时间:2016-7-13 18:03:13
上图是手册上的
QQ图片20160713180021.png
QQ图片20160713180111.png
yklstudent-1794 回答时间:2016-7-13 22:07:01
看资料不认真,你用的STM32F030F4芯片PA2和PA3压根就没有USART2功能

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2 赞一个!

查看全部评分

sting 回答时间:2016-7-15 10:57:01
楼上说的对
Snap1.jpg

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

glenxu 回答时间:2020-3-31 14:08:57
我用HAL生成IIIC1和USART1的配置,结果USART1根本没有初始化内容,PA2/PA3的相关PIO配置都没有,所以根本编译不过!更不用说USART2了。
STM32F030F4的确不存在USART2.

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版