資源簡介
STM32 的CAN收發程序,自己的溫度項目,本人把CAN配置成功,并可以正常收發,

代碼片段和文件信息
#include?“SysHeader.h“
#define??ADC_NUM???50 ???//每通道采50次
#define??ADC_M???2 ???//為2個通道
unsigned?short??AD_Value[ADC_NUM?][ADC_M];???//用來存放ADC轉換結果,也是DMA的目標地址
unsigned?short??AdcFilter[ADC_M];????//用來存放求平均值之后的結果
/*-----------------------------------------------------------
/?函數名稱?:?void?ADC_GPIO_Configuration(void)
/?函數功能?:?配置ADC1?GPIO管腳
/?傳????參?:?
/?返?回?值?:?
/?調用函數?:?
/?說????明?:?選用ADC的通道?1??2??分別對應的管腳為?PA1??PA2?
/-----------------------------------------------------------*/
void?ADC_GPIO_Configuration(void)
{
GPIO_InitTypeDef??GPIO_InitStructure;
//PA1/2?作為模擬通道輸入引腳?????????????????????????
//RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1?|?RCC_APB2Periph_GPIOA?|?RCC_APB2Periph_AFIO?ENABLE);//RCC_Configuration中已經做了初始化
GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_1?|?GPIO_Pin_2;????//VrefVIo
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AIN; //模擬輸入引腳
GPIO_Init(GPIOA?&GPIO_InitStructure);
}
/*-----------------------------------------------------------
/?函數名稱?:?void?ADC1_Configuration(void)
/?函數功能?:?配置ADC1
/?傳????參?:?
/?返?回?值?:?
/?調用函數?:?
/?說????明?:?
/-----------------------------------------------------------*/
extern?void?ADC_Cmd(ADC_TypeDef*?ADCx?FunctionalState?NewState)?;
void?ADC1_Configuration(void)
{
ADC_InitTypeDef?????ADC_InitStructure;
ADC_DeInit(ADC1);??//將外設?ADC1?的全部寄存器重設為缺省值
/*?ADC1?configuration?------------------------------------------------------*/
ADC_InitStructure.ADC_Mode?=?ADC_Mode_Independent; //ADC工作模式:ADC1和ADC2工作在獨立模式
ADC_InitStructure.ADC_ScanConvMode?=?DISABLE; //模數轉換工作在掃描模式ENABLE
ADC_InitStructure.ADC_ContinuousConvMode?=?DISABLE; //模數轉換工作在連續轉換模式ENABLE
ADC_InitStructure.ADC_ExternalTrigConv?=?ADC_ExternalTrigConv_None; //外部觸發轉換關閉
ADC_InitStructure.ADC_DataAlign?=?ADC_DataAlign_Right; //ADC數據右對齊
ADC_InitStructure.ADC_NbrOfChannel?=?ADC_M; //順序進行規則轉換的ADC通道的數目
ADC_Init(ADC1?&ADC_InitStructure); //根據ADC_InitStruct中指定的參數初始化外設ADCx的寄存器
/*?ADC1?regular?channel11?configuration?*/
//設置指定ADC的規則組通道,設置它們的轉化順序和采樣時間
//ADC1ADC通道x規則采樣順序值為y采樣時間為239.5周期
// ADC_RegularChannelConfig(ADC1?ADC_Channel_1?1?ADC_SampleTime_239Cycles5?); //channel1
// ADC_RegularChannelConfig(ADC1?ADC_Channel_2?2?ADC_SampleTime_239Cycles5?); //channel2
//?開啟ADC的DMA支持(要實現DMA功能,還需獨立配置DMA通道等參數)
// ADC_DMACmd(ADC1?ENABLE);
/*?Enable?ADC1?*/
ADC_Cmd(ADC1?ENABLE); ???//使能指定的ADC1
/*?Enable?ADC1?reset?calibaration?register?*/???
ADC_ResetCalibration(ADC1); ??//復位指定的ADC1的校準寄存器
/*?Check?the?end?of?ADC1?reset?calibration?register?*/
while(ADC_GetResetCalibrationStatus(ADC1)); //獲取ADC1復位校準寄存器的狀態設置狀態則等待
/*?Start?ADC1?calibaration?*/
ADC_StartCalibration(ADC1); //開始指定ADC1的校準狀態
/*?Check?the?end?of?ADC1?calibration?*/
while(ADC_GetCalibrationStatus(ADC1)); //獲取指定ADC1的校準程序設置狀態則等待
//ADC_Cmd(ADC1?DISABLE?); ???//禁止指定的ADC1
}
/*-----------------------------------------------------------
/?函數名稱?:?void?DMA_Configuration(void)
/?函數功能?:?配置DMA
/?傳????參?:?
/?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????904??2017-06-29?10:27??HeatingRefrigeraPrj-OK\@STM32F103工程模板
?????文件????????904??2017-06-29?10:27??HeatingRefrigeraPrj-OK\@工程改名方法.txt
?????文件??????10245??2017-06-29?10:27??HeatingRefrigeraPrj-OK\ADC\ADC.c
?????文件????????422??2017-06-29?10:27??HeatingRefrigeraPrj-OK\ADC\ADC.h
?????文件???????3749??2017-06-29?10:27??HeatingRefrigeraPrj-OK\CAN1\CAN1_Init.c
?????文件????????128??2017-06-29?10:27??HeatingRefrigeraPrj-OK\CAN1\CAN1_Init_Pub.h
?????文件???????1973??2017-06-29?10:27??HeatingRefrigeraPrj-OK\CAN1\CAN1_Rece.c
?????文件????????419??2017-06-29?10:27??HeatingRefrigeraPrj-OK\CAN1\CAN1_Rece_Pte.h
?????文件????????162??2017-06-29?10:27??HeatingRefrigeraPrj-OK\CAN1\CAN1_Rece_Pub.h
?????文件???????6298??2017-06-29?10:27??HeatingRefrigeraPrj-OK\CAN1\CAN1_Send.c
?????文件????????222??2017-06-29?10:27??HeatingRefrigeraPrj-OK\CAN1\CAN1_Send_Pte.h
?????文件????????404??2017-06-29?10:27??HeatingRefrigeraPrj-OK\CAN1\CAN1_Send_Pub.h
?????文件??????22999??2017-06-29?10:27??HeatingRefrigeraPrj-OK\CmdPro\CmdPro.c
?????文件???????1306??2017-06-29?10:27??HeatingRefrigeraPrj-OK\CmdPro\CmdPro.h
?????文件???????1213??2017-06-29?10:27??HeatingRefrigeraPrj-OK\DebugCmd\DebugCmd.c
?????文件????????485??2017-06-29?10:27??HeatingRefrigeraPrj-OK\DebugCmd\DebugCmd.h
?????文件???????6956??2017-06-29?10:27??HeatingRefrigeraPrj-OK\DebugConfig\STM32F103C8T6_STM32F103C8.dbgconf
?????文件???????6956??2017-06-29?10:27??HeatingRefrigeraPrj-OK\DebugConfig\Target_1_STM32F103C8.dbgconf
?????文件???????1377??2017-06-29?10:27??HeatingRefrigeraPrj-OK\Delay\Delay.c
?????文件????????346??2017-06-29?10:27??HeatingRefrigeraPrj-OK\Delay\Delay_Pub.h
?????文件???????3144??2017-06-29?10:27??HeatingRefrigeraPrj-OK\GPIO\GPIO.c
?????文件???????1928??2017-06-29?10:27??HeatingRefrigeraPrj-OK\GPIO\GPIO.h
?????文件???????4082??2017-06-29?10:27??HeatingRefrigeraPrj-OK\Heating\Cooling.c
?????文件???????7280??2017-06-29?10:27??HeatingRefrigeraPrj-OK\Heating\Heating.c
?????文件???????1274??2017-06-29?10:27??HeatingRefrigeraPrj-OK\Heating\Heating.h
????.......?????79126??2017-07-28?16:51??HeatingRefrigeraPrj-OK\HeatingRefrigeraPrj.uvguix.Administrator
?????文件?????181498??2017-06-29?10:27??HeatingRefrigeraPrj-OK\HeatingRefrigeraPrj.uvguix.ZPF
?????文件??????33047??2017-07-15?13:24??HeatingRefrigeraPrj-OK\HeatingRefrigeraPrj.uvoptx
?????文件??????32428??2017-07-15?13:24??HeatingRefrigeraPrj-OK\HeatingRefrigeraPrj.uvprojx
?????文件??????29872??2017-06-29?10:27??HeatingRefrigeraPrj-OK\Jli
............此處省略144個文件信息
評論
共有 條評論