OpenEdv-开源电子网

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

串口调试助手不能接收数据怎么办,用的原子的代码

[复制链接]

5

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2018-1-29
在线时间
34 小时
发表于 2018-1-30 13:12:32 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
217
金钱
217
注册时间
2017-11-6
在线时间
44 小时
发表于 2018-1-30 14:04:45 | 显示全部楼层
你这个图贴出来别人能看出什么额
回复

使用道具 举报

5

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2018-1-29
在线时间
34 小时
 楼主| 发表于 2018-1-30 14:15:05 | 显示全部楼层
V~{(4WY4M`}[U]_0AWQ}E.png S@Y0{BZG%5W{7GNCFLOFL}L.png
T6}TP0A)M~U4TXVKS${YASF.png
回复

使用道具 举报

5

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2018-1-29
在线时间
34 小时
 楼主| 发表于 2018-1-30 14:16:06 | 显示全部楼层
NQX_7762FM4EZRRYHZ@Y8AA.png
回复

使用道具 举报

13

主题

116

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
372
金钱
372
注册时间
2018-1-22
在线时间
118 小时
发表于 2018-1-30 15:28:13 | 显示全部楼层
按了回车键了吗,例程你没改动的话是没问题的  硬件问题或者操作问题?
回复

使用道具 举报

55

主题

474

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2374
金钱
2374
注册时间
2017-8-7
在线时间
207 小时
发表于 2018-1-30 15:33:25 | 显示全部楼层
串口:c
#include "sys.h"
#include "usart.h"          
//////////////////////////////////////////////////////////////////////////////////          
//èç1ûê1óÃucos,Ôò°üà¨ÏÂÃæμÄí·Îļt¼′¿é.
#if SYSTEM_SUPPORT_OS
#include "includes.h"                                        //ucos ê1óà         
#endif
//////////////////////////////////////////////////////////////////////////////////         
//±¾3ìDòÖ»1©Ñ§Ï°ê1óã¬Î′¾-×÷ÕßDí¿é£¬2»μÃóÃóúÆäËüèÎoÎóÃí¾
//ALIENTEK STM32¿a·¢°å
//′®¿ú13õê¼»ˉ                  
//ÕyμãÔ-×ó@ALIENTEK
//¼¼êõÂÛì3:www.openedv.com
//DT¸ÄèÕÆú:2012/8/18
//°æ±¾£oV1.5
//°æè¨ËùóD£¬μá°æ±Ø¾¿¡£
//Copyright(C) 1ãÖYêDDÇòíμç×ó¿Æ¼¼óDÏT1«Ë¾ 2009-2019
//All rights reserved
//********************************************************************************
//V1.3DT¸ÄËμÃ÷
//Ö§3Öêêó|2»í¬ÆμÂêÏÂμÄ′®¿ú2¨ìØÂêéèÖÃ.
//¼óèëá˶ÔprintfμÄÖ§3Ö
//Ôö¼óáË′®¿ú½óêÕÃüáî1|Äü.
//DTÕyáËprintfμúò»¸ö×Ö·û¶aê§μÄbug
//V1.4DT¸ÄËμÃ÷
//1,DT¸Ä′®¿ú3õê¼»ˉIOμÄbug
//2,DT¸ÄáËUSART_RX_STA,ê1μÃ′®¿ú×î′ó½óêÕ×Ö½úêyÎa2μÄ14′η½
//3,Ôö¼óáËUSART_REC_LEN,óÃóú¶¨òå′®¿ú×î′óÔêDí½óêÕμÄ×Ö½úêy(2»′óóú2μÄ14′η½)
//4,DT¸ÄáËEN_USART1_RXμÄê1Äü·½ê½
//V1.5DT¸ÄËμÃ÷
//1,Ôö¼óá˶ÔUCOSIIμÄÖ§3Ö
//////////////////////////////////////////////////////////////////////////////////           


//////////////////////////////////////////////////////////////////
//¼óèëòÔÏÂ′úÂë,Ö§3Öprintfoˉêy,¶ø2»DèòaÑ¡Ôñuse MicroLIB          
#if 1
#pragma import(__use_no_semihosting)            
//±ê×¼¿aDèòaμÄÖ§3Öoˉêy                 
struct __FILE
{
        int handle;

};

FILE __stdout;      
//¶¨òå_sys_exit()òÔ±üÃaê1óðëÖ÷»úģ꽠  
_sys_exit(int x)
{
        x = x;
}
//ÖØ¶¨òåfputcoˉêy
int fputc(int ch, FILE *f)
{      
        while((USART1->SR&0X40)==0);//Ñ-»··¢Ëí,Ö±μ½·¢Ëííê±Ï   
    USART1->DR = (u8) ch;      
        return ch;
}
#endif

/*ê1óÃmicroLibμÄ·½·¨*/
/*
int fputc(int ch, FILE *f)
{
        USART_SendData(USART1, (uint8_t) ch);

        while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET) {}       
   
    return ch;
}
int GetKey (void)  {

    while (!(USART1->SR & USART_FLAG_RXNE));

    return ((int)(USART1->DR & 0x1FF));
}
*/

#if EN_USART1_RX   //èç1ûê1Äüá˽óêÕ
//′®¿ú1ÖD¶Ï·tÎñ3ìDò
//×¢òa,¶áè¡USARTx->SRÄü±üÃaÄaÃûÆäÃîμÄ′íÎó          
u8 USART_RX_BUF[USART_REC_LEN];     //½óêÕ»o3å,×î′óUSART_REC_LEN¸ö×Ö½ú.
u8 USART_TX_BUF[USART_REC_LEN];     //·¢Ëí»o3å,×î′óUSART_REC_LEN¸ö×Ö½ú.
u16 USART_RX_STA=0;       //½óêÕ×′쬱ê¼Ç          
u8 g_Uart1_Timer;
//½óêÕ×′ì¬
//bit15£¬        ½óêÕíê3é±êÖ¾
//bit14£¬        ½óêÕμ½0x0d
//bit13~0£¬        ½óêÕμ½μÄóDD§×Ö½úêyÄ¿

  
void uart_init(u32 bound){
  //GPIO¶Ë¿úéèÖÃ
  GPIO_InitTypeDef GPIO_InitStructure;
        USART_InitTypeDef USART_InitStructure;
        NVIC_InitTypeDef NVIC_InitStructure;
         
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE);        //ê1ÄüUSART1£¬GPIOAê±Öó
  
        //USART1_TX   GPIOA.9
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;        //¸′óÃíÆíìêä3ö
  GPIO_Init(GPIOA, &GPIO_InitStructure);//3õê¼»ˉGPIOA.9
   
  //USART1_RX          GPIOA.103õê¼»ˉ
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//¸¡¿Õêäèë
  GPIO_Init(GPIOA, &GPIO_InitStructure);//3õê¼»ˉGPIOA.10  

  //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í¨μàê1Äü
        NVIC_Init(&NVIC_InitStructure);        //¸ù¾YÖ¸¶¨μÄ2Îêy3õê¼»ˉVIC¼Ä′æÆ÷
  
   //USART 3õê¼»ˉéèÖÃ

        USART_InitStructure.USART_BaudRate = bound;//′®¿ú2¨ìØÂê
        USART_InitStructure.USART_WordLength = USART_WordLength_8b;//×Ö3¤Îa8λêy¾Y¸ñê½
        USART_InitStructure.USART_StopBits = USART_StopBits_1;//ò»¸öí£Ö1λ
        USART_InitStructure.USART_Parity = USART_Parity_No;//ÎTÆæÅ¼D£Ñéλ
        USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//ÎTó2¼têy¾Yá÷¿ØÖÆ
        USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;        //êÕ·¢Ä£ê½

  USART_Init(USART1, &USART_InitStructure); //3õê¼»ˉ′®¿ú1
  USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//¿aÆô′®¿ú½óêüÖD¶Ï
  USART_Cmd(USART1, ENABLE);                    //ê1Äü′®¿ú1

}

void USART1_IRQHandler(void)                        //′®¿ú1ÖD¶Ï·tÎñ3ìDò
        {
        u8 Res;
#if SYSTEM_SUPPORT_OS                 //èç1ûSYSTEM_SUPPORT_OSÎaÕæ£¬ÔòDèòaÖ§3ÖOS.
        OSIntEnter();   
#endif
        if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)  //½óêÕÖD¶Ï
                {
                //  USART_ClearITPendingBit(USART1,USART_IT_RXNE);    //Çå3yÖD¶Ï±êÖ¾
                  Res =USART_ReceiveData(USART1);        //¶á衽óêÕμ½μÄêy¾Y
                  g_Uart1_Timer=1;//èç1ûóDêy¾Y£¬¿aÆô±ê־룬¶¨ê±Æ÷¿aê¼¼Æêy
                  if((USART_RX_STA&0x8000)==0)//½óêÕÎ′íê3é
                        {               
                                USART_RX_BUF[USART_RX_STA&0X3FFF]=Res ;
                                USART_RX_STA++;
                                if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0;//½óêÕêy¾Y′íÎó,ÖØD¿aê¼½óêÕ          
                  }                 
                                         
    }
#if SYSTEM_SUPPORT_OS         //èç1ûSYSTEM_SUPPORT_OSÎaÕæ£¬ÔòDèòaÖ§3ÖOS.
        OSIntExit();                                                                                           
#endif
}
#endif       




timer:
#include "timer.h"
#include "led.h"
#include "wdg.h"
#include "usart.h"         
//////////////////////////////////////////////////////////////////////////////////         
//±¾3ìDòÖ»1©Ñ§Ï°ê1óã¬Î′¾-×÷ÕßDí¿é£¬2»μÃóÃóúÆäËüèÎoÎóÃí¾
//ALIENTEKÕ½½¢STM32¿a·¢°å
//¶¨ê±Æ÷ Çy¶ˉ′úÂë          
//ÕyμãÔ-×ó@ALIENTEK
//¼¼êõÂÛì3:www.openedv.com
//DT¸ÄèÕÆú:2012/9/3
//°æ±¾£oV1.0
//°æè¨ËùóD£¬μá°æ±Ø¾¿¡£
//Copyright(C) 1ãÖYêDDÇòíμç×ó¿Æ¼¼óDÏT1«Ë¾ 2009-2019
//All rights reserved                                                                          
//////////////////////////////////////////////////////////////////////////////////            
u8 send_adc_flag;
u8 led_flag;
//í¨óö¨ê±Æ÷3ÖD¶Ï3õê¼»ˉ
//Õaàïê±ÖóÑ¡ÔñÎaAPB1μÄ2±¶£¬¶øAPB1Îa36M
//arr£o×Ô¶ˉ֨װÖμ¡£
//psc£oê±ÖóÔ¤·ÖÆμêy
//Õaàïê1óÃμÄêǶ¨ê±Æ÷3!
void TIM3_Int_Init(u16 arr,u16 psc)
{
    TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
        NVIC_InitTypeDef NVIC_InitStructure;

        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //ê±Öóê1Äü
       
        //¶¨ê±Æ÷TIM33õê¼»ˉ
        TIM_TimeBaseStructure.TIM_Period = arr; //éèÖÃÔúÏÂò»¸ö¸üDÂê¼t×°èë»î¶ˉμÄ×Ô¶ˉÖØ×°ÔØ¼Ä′æÆ÷ÖüÆúμÄÖμ       
        TIM_TimeBaseStructure.TIM_Prescaler =psc; //éèÖÃóÃà′×÷ÎaTIMxê±ÖóÆμÂê3yêyμÄÔ¤·ÖÆμÖμ
        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //éèÖÃê±Öó·Ö¸î:TDTS = Tck_tim
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  //TIMÏòéϼÆêyÄ£ê½
        TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //¸ù¾YÖ¸¶¨μÄ2Îêy3õê¼»ˉTIMxμÄê±¼ä»ùêyμ¥λ

        TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //ê1ÄüÖ¸¶¨μÄTIM3ÖD¶Ï,ÔêDí¸üDÂÖD¶Ï

        //ÖD¶ÏóÅÏè¼¶NVICéèÖÃ
        NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;  //TIM3ÖD¶Ï
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;  //ÏèÕ¼óÅÏè¼¶0¼¶
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;  //′óóÅÏè¼¶3¼¶
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQí¨μà±»ê1Äü
        NVIC_Init(&NVIC_InitStructure);  //3õê¼»ˉNVIC¼Ä′æÆ÷


        TIM_Cmd(TIM3, ENABLE);  //ê1ÄüTIMx                                         
}
//¶¨ê±Æ÷3ÖD¶Ï·tÎñ3ìDò
void TIM3_IRQHandler(void)   //TIM3ÖD¶Ï
{
        if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)  //¼ì2éTIM3¸üDÂÖD¶Ï·¢éúóë·ñ
                {
                TIM_ClearITPendingBit(TIM3, TIM_IT_Update  );  //Çå3yTIMx¸üDÂÖD¶Ï±êÖ¾
                send_adc_flag++;//¶¨ê±·¢Ëíad
                led_flag++;
                if(g_Uart1_Timer>0)//èç1û¿aê¼½óêÕ£¬½øDD¼ÆêyÅD¶Ï3¬ê±
           {
                  g_Uart1_Timer++;
          }
                IWDG_Feed();//¶¨ê±500msÎ11·
                }
}












mian:
        if(g_Uart1_Timer>5)    //èô3¬ê±½óêÕ£¬ÔòÅD¶Ï½óêÕíê±Ï
                {
                            g_Uart1_Timer=0;//Çå3y±êÖ¾£¬×¼±¸ÏÂò»′νóêÕ
                   //        len=USART_RX_STA;//μÃμ½′Ë′νóêÕμ½μÄêy¾Y3¤¶è                                               
                                        USART_RX_STA=0;

               }
qq1950361006,互帮互助,共同进步。
回复

使用道具 举报

55

主题

474

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2374
金钱
2374
注册时间
2017-8-7
在线时间
207 小时
发表于 2018-1-30 15:35:36 | 显示全部楼层
本帖最后由 kbq1950361006 于 2018-1-30 15:37 编辑

就是用定时器判断串口是否接收超时,超过25毫秒则判断发送完毕,,串口收的代码给你,里面有多余的东西自己删除掉,自行参考吧,
qq1950361006,互帮互助,共同进步。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-1-31 01:50:34 | 显示全部楼层
是我们开发板么?  直接下载寄存器版本例程,试试看
回复

使用道具 举报

5

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2018-1-29
在线时间
34 小时
 楼主| 发表于 2018-1-31 13:45:56 | 显示全部楼层
正点原子 发表于 2018-1-31 01:50
是我们开发板么?  直接下载寄存器版本例程,试试看

是的,已经寄回去给你们维修了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 14:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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