久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4715|回復: 4
打印 上一主題 下一主題
收起左側

STM32F103C8T6最小板 串口1沒有輸出,請幫忙解決

[復制鏈接]
跳轉到指定樓層
樓主
ID:492339 發表于 2019-4-4 23:10 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
100黑幣
論壇下載的STM32F103C8T6八路ADC串口輸出程序,仿真時有輸出,但PA9 和PA10都波形都是0,下載到板子上串口沒有輸出
/**
* 文件名  :main.c
* 描述    :串口1(USART1)向電腦的超級終端以1s為間隔打印當前ADC1的轉換電壓值         
* 實驗平臺:MINI STM32開發板 基于STM32F103C8T6
* 庫版本  :ST3.0.0

**********************************************************************************/

#include "stm32f10x.h"
#include "usart1.h"
#include "adc.h"      
#include "stdio.h"
extern __IO u16 ADC_ConvertedValue[9];         
// 軟件延時
void Delay(unsigned long time)
{unsigned long i,j;

        for(j=0; j<time; j++)
        {
           for(i=0;i<12000;i++);
        }
}


int main(void)
{
volatile u32 AD1_value,AD2_value,AD3_value,AD4_value,AD5_value,AD6_value,AD7_value,AD8_value;         
  /* 配置系統時鐘為72M */      
  SystemInit();        
  /* 配置串口 */
  USART1_Config();
  /* 初始化ADC1 */
  ADC1_Init();

  printf("\r\n -------這是一個ADC實驗------\r\n");
  printf("\r\n -------ADC采樣的是PA0口------\r\n");

  while (1)
  {
                           Delay(500);
                 AD1_value  = 3300000/4096*ADC_ConvertedValue[0]/1000*1.53;
                 AD2_value  = 3300000/4096*ADC_ConvertedValue[1]/1000*1.53;
                 AD3_value  = 3300000/4096*ADC_ConvertedValue[2]/1000*1.53;
                 AD4_value  = 3300000/4096*ADC_ConvertedValue[3]/1000*1.53;
           
                 AD5_value  = 3300000/4096*ADC_ConvertedValue[4]/1000*1.53;
                 AD6_value  = 3300000/4096*ADC_ConvertedValue[5]/1000*1.53;
                 AD7_value  = 3300000/4096*ADC_ConvertedValue[6]/1000*1.53;
                 AD8_value  = 3300000/4096*ADC_ConvertedValue[7]/1000*1.53;
               
           printf("AD1 value = %d mV  \r\n", AD1_value);
                 printf("AD2 value = %d mV  \r\n", AD2_value);
                 printf("AD3 value = %d mV  \r\n", AD3_value);
                 printf("AD4 value = %d mV  \r\n", AD4_value);
               
           printf("AD5 value = %d mV  \r\n", AD5_value);
                 printf("AD6 value = %d mV  \r\n", AD6_value);
                 printf("AD7 value = %d mV  \r\n", AD7_value);
                 printf("AD8 value = %d mV  \r\n", AD8_value);

               


  }
}





/********
* 文件名  :usart1.c
* 描述    :將printf函數重定向到USART1。這樣就可以用printf函數將單片機的數據
*           打印到PC上的超級終端或串口調試助手。         
* 實驗平臺:MINI STM32開發板 基于STM32F103C8T6
* 硬件連接:------------------------
*          | PA9  - USART1(Tx)      |
*          | PA10 - USART1(Rx)      |
*           ------------------------
* 庫版本  :ST3.0.0  *

**********************************************************************************/

#include "usart1.h"
#include <stdarg.h>
#include <stdio.h>

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

        /* 使能 USART1 時鐘*/
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);
        /* USART1 使用IO端口配置 */   
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //復用推挽輸出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOA, &GPIO_InitStructure);   

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;        //浮空輸入
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
  GPIO_Init(GPIOA, &GPIO_InitStructure);   //初始化GPIOA
         
        /* USART1 工作模式配置 */
        USART_InitStructure.USART_BaudRate = 115200;        //波特率設置:115200
        USART_InitStructure.USART_WordLength = USART_WordLength_8b;        //數據位數設置:8位
        USART_InitStructure.USART_StopBits = USART_StopBits_1;         //停止位設置: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);  //初始化USART1
        USART_Cmd(USART1, ENABLE);// USART1使能
}


/* 描述  :重定向c庫函數printf到USART1*/
int fputc(int ch, FILE *f)
{
/* 將Printf內容發往串口 */
  USART_SendData(USART1, (unsigned char) ch);
  while (!(USART1->SR & USART_FLAG_TXE));

  return (ch);
}

STM32F103C8T6八路ADC123.7z

145.58 KB, 下載次數: 12

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:94031 發表于 2019-4-5 09:30 | 只看該作者
程序沒有問題,要在其他方面找原因,可以仿真一下看問題出在那里。
回復

使用道具 舉報

板凳
ID:481641 發表于 2019-4-5 16:31 | 只看該作者
用仿真或者調試一下
回復

使用道具 舉報

地板
ID:546286 發表于 2019-7-25 16:43 | 只看該作者
我也遇到類似問題,不知道怎么解決。。。。。
回復

使用道具 舉報

5#
ID:542954 發表于 2019-8-11 20:06 | 只看該作者
用上位機看看是怎么回事吧
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲综合区 | 99精品视频一区二区三区 | 成人午夜视频在线观看 | 日韩一区中文字幕 | 欧美另类视频 | 欧美视频三区 | 欧美国产一区二区 | 日本免费视频在线观看 | 免费看黄色视屏 | 九九热精品免费 | 在线观看视频一区二区三区 | 青青久草 | 欧美99| 国产乱码精品一区二区三区中文 | av看片网站 | 成人在线视频网 | 女同av亚洲女人天堂 | 久久成人一区 | 成人激情视频 | 亚洲一区精品在线 | 艹逼网| 亚洲精品一区二区二区 | 午夜一区二区三区 | 欧产日产国产精品v | 欧美日本在线观看 | 国精产品一区一区三区免费完 | 欧美男人的天堂 | 激情三区 | 91精品久久久久久久久中文字幕 | 草草草网站 | 精品一区二区三区在线观看国产 | 国产中文字幕亚洲 | 美女国产一区 | 亚洲国产成人精品一区二区 | 中文字幕成人在线 | 国产福利91精品一区二区三区 | 国精日本亚洲欧州国产中文久久 | 久草成人| av网站在线看| 91在线精品视频 | 日本三级在线视频 |