资源简介
STM32 的CAN收发程序,自己的温度项目,本人把CAN配置成功,并可以正常收发,
![](http://www.nz998.com/pic/50893.jpg)
代码片段和文件信息
#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个文件信息
相关资源
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
- 基于STM32芯片的SX1278 驱动 LORA.rar
- STM32的PCB封装库,以及原理图库,48
- SX1280.rar
- STM32 DS3231驱动.zip
- STM32F103C8T6+NRF24l01无线通信
评论
共有 条评论