OpenEdv-开源电子网

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

103 串口3 数据发送成功 没有波形输出

[复制链接]

81

主题

185

帖子

0

精华

高级会员

Rank: 4

积分
534
金钱
534
注册时间
2013-7-4
在线时间
13 小时
发表于 2021-4-23 18:36:32 | 显示全部楼层 |阅读模式
10金钱
很久没有碰32,遇到一个问题,串口3初始化成功,发送显示也没问题(tc flag set之后reset),示波器量引脚却没什么反应 附件是代码
代码如下
#define CHIPID  0x0088
u8 Recevie_seq[16];
u8 Recevie_count=0;
void RN_PIN_Config(void){
    GPIO_InitTypeDef GPIO_InitStructure;
    USART_InitTypeDef USART_InitStructure;
    NVIC_InitTypeDef NVIC_InitStructure;
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC, ENABLE);
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE);

                GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;  
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;   
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;     
    GPIO_Init(GPIOB, &GPIO_InitStructure);      
                GPIO_SetBits(GPIOB,GPIO_Pin_5);//en on
               
//                GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//
//    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;   //
//    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//????
//    GPIO_Init(GPIOC, &GPIO_InitStructure);//
//    GPIO_ResetBits(GPIOC, GPIO_Pin_10);//
//    Delay_ms(25);//
//    GPIO_SetBits(GPIOC, GPIO_Pin_10);//
//    Delay_ms(20);//RESET RN
//                GPIO_DeInit(GPIOC);
       
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;   //
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;   //
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;     //
    GPIO_Init(GPIOC, &GPIO_InitStructure);      //

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;//
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//
    GPIO_Init(GPIOC, &GPIO_InitStructure);//

                NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;//
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;//
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;//
    NVIC_Init(&NVIC_InitStructure);
               
    USART_InitStructure.USART_BaudRate = 4800;//
    USART_InitStructure.USART_WordLength = USART_WordLength_9b;//
    USART_InitStructure.USART_StopBits = USART_StopBits_1;//
    USART_InitStructure.USART_Parity = USART_Parity_Even;//
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;        //
    USART_Init(USART3, &USART_InitStructure); //

    USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);//
//    USART_ITConfig(USART3, USART_IT_IDLE, ENABLE);//
//    USART_ITConfig(USART3, USART_IT_TXE, ENABLE);//
    USART_Cmd(USART3, ENABLE);


}

void RN_write(u16 command,u16 *Data,u8 Len){
        int i;
        USART_SendData(USART3,CHIPID);
        while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET){}
        USART_SendData(USART3,command|0x80);
        while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET){}
        for(i=0;i<Len;i++){
                USART_SendData(USART3,Data[i]);
                while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET){}
        }
};

void RN_Read(u16 command,u8 Len){
        int i;
        USART_SendData(USART3,CHIPID);
        while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET){}
        USART_SendData(USART3,command);
        while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET){}
        Recevie_count=0;
        while(Recevie_count<Len){}
        Recevie_count=0;
};

void RN_Init(void){
        RN_PIN_Config();//Init Pin map;
        RN_Read(0x7F,3);
}


void USART3_IRQHandler(void)                       
        {
        if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)  //
                {
                        Recevie_seq[Recevie_count] =USART_ReceiveData(USART3);        //
                        if(Recevie_count<16)
                                        Recevie_count++;
                        else
                                        Recevie_count=0;
                        USART_ClearFlag(USART3,USART_FLAG_RXNE);
    }
}

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

使用道具 举报

6

主题

890

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1481
金钱
1481
注册时间
2020-8-19
在线时间
336 小时
发表于 2021-4-23 18:59:02 | 显示全部楼层
估计是示波器设置错了
回复

使用道具 举报

0

主题

130

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1876
金钱
1876
注册时间
2016-10-23
在线时间
262 小时
发表于 2021-4-24 14:00:03 | 显示全部楼层
开AFIO
回复

使用道具 举报

0

主题

130

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1876
金钱
1876
注册时间
2016-10-23
在线时间
262 小时
发表于 2021-4-24 14:00:25 | 显示全部楼层
还有串口 引脚映射
6年嵌入式老玩家 深圳
回复

使用道具 举报

11

主题

2147

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4894
金钱
4894
注册时间
2015-1-10
在线时间
612 小时
发表于 2021-4-26 09:40:41 | 显示全部楼层
datasheet P179 GPIO部分重映射
回复

使用道具 举报

13

主题

643

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2432
金钱
2432
注册时间
2019-12-28
在线时间
527 小时
发表于 2021-4-26 16:06:53 | 显示全部楼层
数据能正常发送的话说明代码设置上没有什么问题的,这就要检查一下你示波器是不设置不对导致的了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-24 21:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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