资源简介
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个文件信息
相关资源
- STM32 USB读取MicroSD卡模拟U盘
- STM32AES加密程序.zip
- STM32使用4x4矩阵薄膜键盘
- STM32旋转编码器程序
- stm32f103+2路USART+SPI+CAN+FreeRTOS操作系统
- 蓝牙控制8个舵机STM32F407+pca9685+HC06
- 野火STM32F10X例程源码_重力感应(MMA
- 智能车程序 PID 循迹
- STM32F4ZGT6控制烟雾与温湿度传感器
- STM32-函数信号发生器
- Forest D1 STM32 旋转倒立摆源码 电子竞赛
- DQ电子_STM32F103VET6_开发板_用户手册.
- 扫码模块配合STM32
- 基于STM32F1和ESP8266的MQTT数据传输
- STM32F10X上面的所有串口综合程序
- stm32f1WM8978录音和放音例程.rar
- 基于STM32的TEA5767收音机工程
- DM412三通道LED STM32F103驱动
- STM32F407+ov2640图像处理图像经过二值化
- STM32的ADC模数转换(STM32神舟IV号-库函
- stm32汉字取模显示
- STM32F103ZET6-TFTLCD显示二维码
- MPU9250九轴官方MPL库移植STM32F407例程
- STM32F103c8t6核心板资料很全的就能用
- LDC1314源码
- ks103多个超声波驱动
- 基于STM32的MS5611程序 气压计 IIC
- stm32f103modbus主机程序
- ESP8266模块--APP连接可收发数据
- STM32F103+MC20GRPS源码
评论
共有 条评论