標(biāo)題:
stm32f103C8T6部分外設(shè)的使用源程序
[打印本頁]
作者:
Elkeson
時間:
2019-11-17 22:58
標(biāo)題:
stm32f103C8T6部分外設(shè)的使用源程序
工程包含:adc dma timer1 usart , i2c等等
單片機源程序如下:
//頭文件
#include "stm32f10x.h"
#include "GPIOLIKE51.h"
#include "stm32f10x_gpio.h"
#include "clockoutput.h"
#include "i2c.h"
#include "stm32f10x_adc.h"
#include "adc.h"
#include "gpio.h"
#include "dma.h"
#include "stm32f10x_dma.h"
#include "timer.h"
#include "delay.h"
#include "usart.h"
//變量定義
u8 temp = 0;
u8 temp1 = 0;
int ADC_ConvertedValue;
float ADC_ConvertedValueLocal;
extern u16 CCR1_Val;
extern u16 CCR2_Val;
extern u16 CCR3_Val;
extern u8 sendbuf[2];
//=============================================================================
//文件名稱:main
//功能概要:主函數(shù)
//參數(shù)說明:無
//函數(shù)返回:int
//=============================================================================
int main(void)
{
/************時鐘配置******************/
//時鐘在startup.s文件中已經(jīng)設(shè)置,可在system_stm32f10x.c中查看
/**************PC13引腳輸出方波***************/
GPIO_Configuration();
/**************系統(tǒng)時鐘輸出***************/
// ClockOutput_Configuration();
/**************I2C通信初始化***************/
// IIC_Init();
/***************ADC初始化*****************/
//ADC_Config();
//ADC_Config_PA2();
/***************ADC DMA初始化*****************/
// DMA_Configuration();
// ADC_Config_PA1PA2();
/***************Timer1初始化*****************/
//Timer1_Config();
/****************timer3通道初始化**********************/
//使能中斷前要先打開對應(yīng)外設(shè)時鐘
//Timer1_Interrupt_Initial();
//Timer1_Config1();
/****************ADC temperature initial**********************/
//Temperature_Config();
/****************usart initial**********************/
//USART_Config();
/****************usart DMA initial**********************/
USART_Config();
USART_DMA_Configuration();
sendbuf[0] = 0x55;
sendbuf[1] = 0xA5;
delay_1us(100);
while (1)
{
/**************I2C通信***************/
//temp =SMBus_Read(0x55, 0x01, 1);
//temp1 =SMBus_Read(0x55, 0x02, 1);
/*********PC13燈閃爍********/
{
PCout(13)=1;
delay_1us(60000);
delay_1us(60000);
delay_1us(60000);
delay_1us(60000);
delay_1us(60000);
delay_1us(60000);
PCout(13)=0;
delay_1us(60000);
delay_1us(60000);
delay_1us(60000);
delay_1us(60000);
delay_1us(60000);
delay_1us(60000);
}
/*********ADC啟動轉(zhuǎn)換********/
//ADC_SoftwareStartConvCmd(ADC1, ENABLE); //軟件啟動
//while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC )); //等待轉(zhuǎn)換完成
//ADC_ConvertedValue = ADC_GetConversionValue(ADC1); // 獲取轉(zhuǎn)換結(jié)果*ADC_ConvertedValue*
//ADC_ConvertedValueLocal = (float)ADC_ConvertedValue*(3.3/4096); //計算實際電壓*ADC_ConvertedValueLocal*
/*********ADC DMA啟動轉(zhuǎn)換********/
//ADC_SoftwareStartConvCmd(ADC1, ENABLE); //軟件啟動
//while(!DMA_GetFlagStatus(DMA1_FLAG_TC1)); //等待轉(zhuǎn)換完成
//PA0
//ADC_ConvertedValue = ADC_Value[0]; // 獲取轉(zhuǎn)換結(jié)果*ADC_ConvertedValue*
//ADC_ConvertedValueLocal = (float)ADC_ConvertedValue*(3.3/4096); //計算實際電壓*ADC_ConvertedValueLocal*
//PA1
//ADC_ConvertedValue = ADC_Value[1]; // 獲取轉(zhuǎn)換結(jié)果*ADC_ConvertedValue*
//ADC_ConvertedValueLocal = (float)ADC_ConvertedValue*(3.3/4096); //計算實際電壓*ADC_ConvertedValueLocal*
/*********ADC temperature using********/
//ADC_SoftwareStartConvCmd(ADC1, ENABLE); //軟件啟動
//while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC )); //等待轉(zhuǎn)換完成
//ADC_ConvertedValue = ADC_GetConversionValue(ADC1); // 獲取轉(zhuǎn)換結(jié)果*ADC_ConvertedValue*
//ADC_ConvertedValueLocal = (float)(( 1.38 - ADC_ConvertedValue*3.3/4096) /0.0043 + 25); //計算實際電壓*ADC_ConvertedValueLocal*
/*********usart using. send one byte test********/
//SK_UsartSendChar(0x55);
//SK_UsartSendChar(0xA5);
/*********usart DMA using. send byte test********/
if(temp == 0x01)
{
USART_Send_Data(sendbuf, 2);
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
Temp.7z
(191.81 KB, 下載次數(shù): 9)
2019-11-20 15:15 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1