国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 5270|回復: 2
打印 上一主題 下一主題

[提問] 調試max485,如何發送字符串

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2013-10-13 08:50:10 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關鍵詞: max485調試
最近調試485,我想把上位機發送的數據再返回到上位機串口調試助手顯示:usart3串口,pB2控制收發,pb10發送,Pb11接收,程序只能收發一個字符,請教各位網友如何收發字符串,我把我的代碼寫上。
#include "stm32f10x.h"
#include
#include "delay.h"


void RCC_Configuration(void)
{
  ErrorStatus HSEStartUpStatus;                    //¶¨òåía2¿¸ßËù¾§ìåÆô¶ˉ×′ì¬Ã¶¾ù±äá¿
  RCC_DeInit();                                    //¸′λRCCía2¿é豸¼Ä′æÆ÷μ½Ä¬èÏÖμ
  RCC_HSEConfig(RCC_HSE_ON);                       //′ò¿aía2¿¸ßËù¾§Õñ
  HSEStartUpStatus = RCC_WaitForHSEStartUp();      //μè′yía2¿¸ßËùê±Öó×¼±¸oÃ
  if(HSEStartUpStatus == SUCCESS)                  //ía2¿¸ßËùê±ÖóòѾ-×¼±eoÃ
  {
    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //¿aÆôFLASHÔ¤¶á»o3å1|Äü£¬¼óËùFLASHμĶáè¡¡£ËùóD3ìDòÖD±ØDëμÄó÷¨.λÖãoRCC3õê¼»ˉ×óoˉêyàïÃ棬ê±ÖóÆeÕñÖ®oó
    FLASH_SetLatency(FLASH_Latency_2);                    //flash2ù×÷μÄÑóê±
             
    RCC_HCLKConfig(RCC_SYSCLK_Div1);               //ÅäÖÃAHB(HCLK)ê±Öóμèóú==SYSCLK
    RCC_PCLK2Config(RCC_HCLK_Div1);                //ÅäÖÃAPB2(PCLK2)Öó==AHBê±Öó
    RCC_PCLK1Config(RCC_HCLK_Div2);                //ÅäÖÃAPB1(PCLK1)Öó==AHB1/2ê±Öó

    RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);  //ÅäÖÃLLê±Öó == ía2¿¸ßËù¾§ìåê±Öó * 9 = 72MHz
    RCC_PLLCmd(ENABLE);                                   //ê1ÄüPLLê±Öó

    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)    //μè′yPLLê±Öó¾íD÷
    {
    }
    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);            //ÅäÖÃÏμí3ê±Öó = PLLê±Öó
    while(RCC_GetSYSCLKSource() != 0x08)                  //¼ì2éPLLê±ÖóêÇ·ñ×÷ÎaÏμí3ê±Öó
    {
    }
  }

}


void NVIC_Configuration(void)
{
   NVIC_InitTypeDef NVIC_InitStructure;


   NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);


   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);


   NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn;
   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;          
   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                  
   NVIC_Init(&NVIC_InitStructure);                                                   
}


void USART3_Configuration(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        USART_InitTypeDef USART_InitStructure;

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE);
       
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOB, &GPIO_InitStructure);



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



        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOB, &GPIO_InitStructure);



        USART_InitStructure.USART_BaudRate = 9600;
        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(USART3, &USART_InitStructure);
        USART_Cmd(USART3, ENABLE);

   USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);

    USART_ClearFlag(USART3, USART_FLAG_TC);   
}


void Uart3_PutChar(u8 ch)
{
       
        GPIO_SetBits(GPIOB,GPIO_Pin_2);
        delay_ms(1);

    USART_SendData(USART3, (u8) ch);
    while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET);

        delay_ms(2);
        GPIO_ResetBits(GPIOB,GPIO_Pin_2);
}


void USART3_IRQHandler(void)         
{
  u8 dat;

  while(USART_GetITStatus(USART3, USART_IT_RXNE) !=SET);   

       
         dat = USART_ReceiveData(USART3);

        Uart3_PutChar(dat);     

  //USART_ClearITPendingBit(USART3,USART_IT_RXNE );                
        //USART_ClearFlag(USART3,USART_FLAG_RXNE);                                                                  

}


int main(void)
{
        //u8 dat;
       
        delay_init(72);
  RCC_Configuration();
  NVIC_Configuration();
  USART3_Configuration();

       
         while(1)
         {
                 // GPIO_ResetBits(GPIOB,GPIO_Pin_12);
                  // while(USART_GetFlagStatus(USART3,USART_FLAG_RXNE)!=SET);
            //dat = USART_ReceiveData(USART3);                 
      //Uart3_PutChar(dat);     
         }
}


沙發
發表于 2013-10-16 09:08:20 | 只看該作者
void USART3_IRQHandler(void)         
{
  u8 dat;

  while(USART_GetITStatus(USART3, USART_IT_RXNE) !=SET);    //-------------------在中斷中,你這樣做真的沒問題么?
.....}
板凳
 樓主| 發表于 2013-10-16 22:22:30 | 只看該作者
qq381973111 發表于 2013-10-16 09:08
void USART3_IRQHandler(void)         
{
  u8 dat;

新手啊,該怎么做,感激不盡
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: www成人国产在线观看网站 | 四虎永久在线观看 | 亚洲欧美日韩在线观看看另类 | 巨黑巨粗巨硬巨大的黑吊 | 国产人成精品午夜在线观看 | 欧美成人免费在线视频 | 成人黄色一级视频 | 日本在线亚洲 | 高清国产亚洲va精品 | 暴雨夜被公侵犯078在线观看 | 免费在线观看一区二区 | 国产亚洲一区二区三区在线 | 国产精品欧美亚洲日本综合 | 日本中文字幕在线观看视频 | 不卡网站| 日韩欧美国产高清在线观看 | 精品理论片 | 国产手机在线观看视频 | 中文字幕日本精品一区二区三区 | 综合色在线观看 | 天天视频在线观看免费 | 欧美在线香蕉在线现视频 | 欧美日韩亚 | 青青草原国产在线视频 | 免费国产一级特黄aa大 | 久久精品亚洲一级毛片 | 亚洲欧美日韩高清专区一区 | 国产小视频国产精品 | 母亲的朋友在线观看完整版的 | 99久久99热精品免费观看国产 | 久久婷婷丁香 | 亚洲欧美日韩不卡一区二区三区 | 欧美色成人tv在线播放 | 蜜臀传煤mv在线观看 | 国产亚洲成在线播放va | 国产欧美日韩不卡一区二区三区 | 综合五月天堂 | 四虎国产精品影库永久免费 | 香蕉伊思人视频 | 日韩黄色一级毛片 | 亚洲欧美日韩另类在线专区 |