您的位置:首页 > 运维架构

【iCore4 双核心板_ARM】例程九:ADC实验——电源监控

2017-08-18 09:51 495 查看
实验原理:  

  STM32内部集成三个12位ADC,iCore1S的所有电源经过电阻分压或者直接

接入STM32的ADC的输出通道内,输入电流经过高端电流检测芯片ZXCT1009F

输入到ADC的输入通道内,从而实现电源监控功能。

核心代码:

int main(void)
{

/* USER CODE BEGIN 1 */
int i;
/* USER CODE END 1 */

/* MCU Configuration----------------------------------------------------------*/

/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();

/* USER CODE BEGIN Init */

/* USER CODE END Init */

/* Configure the system clock */
SystemClock_Config();

/* USER CODE BEGIN SysInit */

/* USER CODE END SysInit */

/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_ADC3_Init();
MX_USART6_UART_Init();

/* USER CODE BEGIN 2 */
usart6.initialize(115200);
LED_GREEN_ON;
usart6.printf("\x0c");
usart6.printf("\033[1;32;40m");
usart6.printf(" Hello, I am iCore4!\r\n");

/* USER CODE END 2 */

/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */

/* USER CODE BEGIN 3 */
LED_GREEN_ON;
HAL_Delay(500);
LED_GREEN_OFF;

for(i = 0;i < 5;i ++){
my_adc.read(i);
}

usart6.printf(" ");
usart6.printf("[I] %3.0fmA , ",my_adc.value[0] / 2* 1000.);
usart6.printf("[V] %4.2fV, ",my_adc.value[1] * 6.);
usart6.printf("[3.3V] %4.2fV, ",my_adc.value[2] * 2.);
usart6.printf("[2.5V] %4.2fV,",my_adc.value[3] * 2.);
usart6.printf("[1.2V] %4.2fV\r",my_adc.value[4]);

}
/* USER CODE END 3 */

}


源代码下载链接:

链接:http://pan.baidu.com/s/1co5BdG 密码:1x87

iCore4链接:





 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐