打印
[STM32F4]

stm32f407 串口调试助手的问题

[复制链接]
2488|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 624773416 于 2014-3-19 09:11 编辑

本人新手,请问怎么让stm32f407和PC机实现通讯呢?

我打开“串口调试助手”总是提示错误:


程序:
#include <stm32f4xx.h>
#include "stm32f4xx_rcc.h"
#include "stm32f4xx_gpio.h"
#include "stm32f4xx_adc.h"
#include "stm32f4xx_conf.h"
#include "stm32f4_discovery.h"
#include <stdio.h>

ADC_CommonInitTypeDef ADC_CommonInitStructure;
ADC_InitTypeDef   ADC_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;

void NVIC_Config()
{
    NVIC_InitTypeDef NVIC_InitStructure;
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x03;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02;
    NVIC_InitStructure.NVIC_IRQChannel  = USART1_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
                NVIC_Init(&NVIC_InitStructure);
}

void USART_Gpio_Config(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;

    RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOB  , ENABLE);

    //PB6->TX  PB7->Rx
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOB, &GPIO_InitStructure);

    GPIO_PinAFConfig(GPIOB,GPIO_PinSource6,GPIO_AF_USART1);
    GPIO_PinAFConfig(GPIOB,GPIO_PinSource7,GPIO_AF_USART1);
}

void USART_Config(void)
{
        USART_Gpio_Config();
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);

    USART_InitStructure.USART_BaudRate = 115200;
    USART_InitStructure.USART_WordLength = USART_WordLength_8b;
    USART_InitStructure.USART_StopBits = USART_StopBits_1;
    USART_InitStructure.USART_Parity = USART_Parity_No;
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;

    USART_Init(USART1,&USART_InitStructure);   
    USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);

    USART_Cmd(USART1,ENABLE);

}

void USART1_IRQHandler(void)
{
    char c;
    if(USART_GetFlagStatus(USART1,USART_FLAG_RXNE)==SET)
    {
        c = USART_ReceiveData(USART1);
        USART_SendData(USART1,c);
    }
        //while(1);
}

void Delay(int i)
{
        int x,j;
        for(j=0;j<i;j++)
           for(x=0;x<=200;x++);        
}

int main(void)
{
    NVIC_Config();
    USART_Config();
    while(1)
    {
        while(RESET == USART_GetFlagStatus(USART1,USART_FLAG_TXE));
        USART_SendData(USART1,'b');
        while(RESET == USART_GetFlagStatus(USART1,USART_FLAG_TXE));
        USART_SendData(USART1,'a');
        Delay(1000);
    }
}

十分困惑,谢谢指导!  在线等

沙发
tangyuanjie| | 2014-3-19 08:39 | 只看该作者
ddddddddd sjirkjx

使用特权

评论回复
板凳
624773416|  楼主 | 2014-3-19 09:08 | 只看该作者
dwh000 发表于 2014-3-19 08:50
com65这个端口号太奇葩了,看看你的电脑串口的端口号是多少,截个图看看!我估计不可能是com65 ...

真是65,虽然我也觉得很怪,但是win7系统不知道怎么改

请帮我看看,请教了

使用特权

评论回复
地板
jjjkkk00| | 2014-3-19 09:15 | 只看该作者
本帖最后由 jjjkkk00 于 2014-3-19 09:21 编辑

换一个串口助手,或者自己DIY个串口助手。

使用特权

评论回复
5
624773416|  楼主 | 2014-3-19 09:16 | 只看该作者
dwh000 发表于 2014-3-19 09:12
我没用过win7

网上说行,我才下的
我还下了一个sscom,那个打开也没反应

使用特权

评论回复
6
mmuuss586| | 2014-3-19 09:28 | 只看该作者
调试助手好不好用,将串口的2,3脚短接试试就知道了

使用特权

评论回复
7
624773416|  楼主 | 2014-3-19 11:58 | 只看该作者
jjjkkk00 发表于 2014-3-19 09:15
换一个串口助手,或者自己DIY个串口助手。

我的电脑(win7 32位)com口的属性里没有那个选项

不知道如何修改

使用特权

评论回复
8
624773416|  楼主 | 2014-3-19 12:00 | 只看该作者
mmuuss586 发表于 2014-3-19 09:28
调试助手好不好用,将串口的2,3脚短接试试就知道了

本人新手,不怎么懂,见笑
能不能说的详细点,什么叫串口的2,3脚

使用特权

评论回复
9
sgj245609615| | 2014-3-19 13:01 | 只看该作者
串口号该小些试下吧   

使用特权

评论回复
10
624773416|  楼主 | 2014-3-19 13:13 | 只看该作者
dwh000 发表于 2014-3-19 12:46
你这个是什么端口啊,蓝牙?
你物理连接时怎么连接的,从什么地方连接的串口? ...

原谅我的无知,难道说还要接一根串口线?
我只把板子上的usb线插到电脑上了

使用特权

评论回复
11
geshetech| | 2015-1-28 14:26 | 只看该作者
更换串口助手试试看罗,类似格西烽火串口助手等,比较新,看看是否支持。

使用特权

评论回复
12
sun1238898| | 2015-1-28 16:04 | 只看该作者
应该是硬件的问题,串口驱动芯片。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

17

帖子

0

粉丝