实验原理:  

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

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

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

核心代码:

  1. int main(void)
  2. {
  3.  
  4. /* USER CODE BEGIN 1 */
  5. int i;
  6. /* USER CODE END 1 */
  7.  
  8. /* MCU Configuration----------------------------------------------------------*/
  9.  
  10. /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  11. HAL_Init();
  12.  
  13. /* USER CODE BEGIN Init */
  14.  
  15. /* USER CODE END Init */
  16.  
  17. /* Configure the system clock */
  18. SystemClock_Config();
  19.  
  20. /* USER CODE BEGIN SysInit */
  21.  
  22. /* USER CODE END SysInit */
  23.  
  24. /* Initialize all configured peripherals */
  25. MX_GPIO_Init();
  26. MX_ADC3_Init();
  27. MX_USART6_UART_Init();
  28.  
  29. /* USER CODE BEGIN 2 */
  30. usart6.initialize();
  31. LED_GREEN_ON;
  32. usart6.printf("\x0c");
  33. usart6.printf("\033[1;32;40m");
  34. usart6.printf(" Hello, I am iCore4!\r\n");
  35.  
  36. /* USER CODE END 2 */
  37.  
  38. /* USER CODE BEGIN WHILE */
  39. while ()
  40. {
  41. /* USER CODE END WHILE */
  42.  
  43. /* USER CODE BEGIN 3 */
  44. LED_GREEN_ON;
  45. HAL_Delay();
  46. LED_GREEN_OFF;
  47.  
  48. for(i = ;i < ;i ++){
  49. my_adc.read(i);
  50. }
  51.  
  52. usart6.printf(" ");
  53. usart6.printf("[I] %3.0fmA , ",my_adc.value[] / * .);
  54. usart6.printf("[V] %4.2fV, ",my_adc.value[] * .);
  55. usart6.printf("[3.3V] %4.2fV, ",my_adc.value[] * .);
  56. usart6.printf("[2.5V] %4.2fV,",my_adc.value[] * .);
  57. usart6.printf("[1.2V] %4.2fV\r",my_adc.value[]);
  58.  
  59. }
  60. /* USER CODE END 3 */
  61.  
  62. }

源代码下载链接:

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

iCore4链接:

 

【iCore4 双核心板_ARM】例程九:ADC实验——电源监控的更多相关文章

  1. 【iCore4 双核心板_ARM】例程二十九:SD_IAP_FPGA实验——更新升级FPGA

    实验现象及操作说明: 1.烧写程序成功,绿色ARM·LED灯点亮,三色FPGA·LED灯循环点亮,烧写失败,如果挂载SD卡失败,红灯快闪,如果打开文件失败,蓝灯快闪,读取文件指针移动失败,白灯点亮,升 ...

  2. 【iCore4 双核心板_ARM】例程十九:USBD_MSC实验——虚拟U盘

    实验步骤: 1.将SD卡插在SD卡槽中. 2.将跳线冒跳至USB_OTG,将USB_OTG通过Micor USB线与USB主机(电脑)相连. 3.烧写程序,我的电脑中将出现一个磁盘. 实验现象: 核心 ...

  3. 【iCore4 双核心板_ARM】例程三十五:HTTP_IAP_ARM实验——更新升级STM32

    实验现象: 核心代码: int main(void) { led.initialize(); //LED³õʼ»¯ key.initialize(); if(ARM_KEY_STATE == KEY ...

  4. 【iCore4 双核心板_ARM】例程三十四:U_DISK_IAP_ARM实验——更新升级STM32

    实验现象及操作说明: 1.本例程共有两个代码包,APP和IAP,IAP程序功能实现将APP程序升级至STM32中. 2.直接上电或烧写程序将执行升级的APP应用程序. 3.按下按键上电或写程序将进行升 ...

  5. 【iCore4 双核心板_ARM】例程三十三:SD_IAP_ARM实验——更新升级STM32

    实验现象及操作说明: 1.本例程共有两个代码包,APP和IAP,IAP程序功能实现将APP程序升级至STM32中. 2.直接上电或烧写程序将执行升级的APP应用程序. 3.按下按键上电或写程序将进行升 ...

  6. 【iCore4 双核心板_ARM】例程三十二:UART_IAP_ARM实验——更新升级STM32

    实验现象及操作说明: 1.本例程共有两个代码包,APP和IAP,IAP程序功能实现将APP程序升级至STM32中. 2.直接上电或烧写程序将执行升级的APP应用程序. BIN升级文件产生方法: 1.编 ...

  7. 【iCore4 双核心板_ARM】例程三十一:HTTP_IAP_FPGA实验——更新升级FPGA

    实验现象: 核心代码: int main(void) { GPIO_InitTypeDef GPIO_InitStruct; __HAL_RCC_GPIOI_CLK_ENABLE(); __HAL_R ...

  8. 【iCore4 双核心板_ARM】例程二十七:LWIP_NETIO实验——以太网测速

    实验现象: 核心代码: int main(void) { system_clock.initialize(); led.initialize(); adc.initialize(); delay.in ...

  9. 【iCore4 双核心板_ARM】例程二十六:LWIP_MODBUS_TCP实验——电源监控

    实验现象: 核心代码: int main(void) { system_clock.initialize(); led.initialize(); adc.initialize(); delay.in ...

随机推荐

  1. vuex数据持久化存储

    想想好还是说下vuex数据的持久化存储吧.依稀还记得在做第一个vue项目时,由于刚刚使用vue,对vue的一些基本概念只是有一个简单的了解.当涉及到非父子组件之间通信时,选择了vuex.只是后来竟然发 ...

  2. [漏洞案例]thinkcmf 2.x从sql注入到getshell实战

    0X00 前言 这个案例是某项目的漏洞,涉及敏感的地方将会打码. 很久没更新博客了,放一篇上来除除草,新的一年会有所转变,以后会有更多领域的研究. 下面是正文 0X01 正文 某厂商某个网站用的是th ...

  3. Linux遇到的问题

    一.基本命令 yum list installed | grep docker  查看yum安装了哪些软件 netstat -lnp|grep 8000 查看端口 netstat -plutn | g ...

  4. C# 判断输入的字符串是否只包含数字和英文字母

    /// <summary> /// 判断输入的字符串是否只包含数字和英文字母 /// </summary> /// <param name="input&quo ...

  5. COGS.1689.[HNOI2010]Bounce 弹飞绵羊(分块)

    题目链接 /* 分块,维护从某位置跳到下一个块需要多少步 */ #include<cmath> #include<cstdio> #include<cctype> ...

  6. Wed 基础

    HTTP协议 www服务应用的默认端口为80 https加密服务的默认端口为443 常见状态码及其对应的作用 http://oldboy.blog.51cto.com/2561410/716294 2 ...

  7. 《JavaScript-The Definitive Guide》读书笔记:函数定义和函数调用

    定义函数 使用function关键字来定义函数,分为两种形式: 声明式函数定义: function add(m,n) { alert(m+n); } 这种方式等同于构造一个Function类的实例的方 ...

  8. js 创建Date对象5种方式

    new Date("month dd,yyyy hh:mm:ss"); new Date("month dd,yyyy"); new Date(yyyy,mth ...

  9. 【React】入门实例

    React 可以灵活的应用在各种各样的项目中.你可以用它来创建新的应用程序,你也可以逐步引用而不改变现有的代码库. React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaS ...

  10. 树莓派(RespberryPi)安装手记

    购买了两台树莓派,显示器接口是HDMI的,所以需要HDMI高清线连接到显示器,再加上SD卡做硬盘以及无线USB-WIFI,就可以玩一玩树莓派这个小东西了.以下是安装手记. 首先是制作“启动光盘”,其实 ...