管中窥豹-从国外论坛的一段代码看TI M0+的代码风格

[复制链接]
532|5
 楼主| xyz549040622 发表于 2023-2-12 23:05 | 显示全部楼层 |阅读模式
  1. m/*
  2. * Copyright (c) 2020, Texas Instruments Incorporated
  3. * All rights reserved.
  4. *
  5. * Redistribution and use in source and binary forms, with or without
  6. * modification, are permitted provided that the following conditions
  7. * are met:
  8. *
  9. * *  Redistributions of source code must retain the above copyright
  10. *    notice, this list of conditions and the following disclaimer.
  11. *
  12. * *  Redistributions in binary form must reproduce the above copyright
  13. *    notice, this list of conditions and the following disclaimer in the
  14. *    documentation and/or other materials provided with the distribution.
  15. *
  16. * *  Neither the name of Texas Instruments Incorporated nor the names of
  17. *    its contributors may be used to endorse or promote products derived
  18. *    from this software without specific prior written permission.
  19. *
  20. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  21. * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
  22. * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  23. * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
  24. * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  25. * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  26. * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
  27. * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  28. * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
  29. * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
  30. * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  31. */

  32. #include "ti_msp_dl_config.h"

  33. volatile bool gCheckADC;
  34. volatile uint16_t gAdcResult;

  35. int main(void)
  36. {
  37.     SYSCFG_DL_init();

  38.     NVIC_EnableIRQ(ADC12_0_INST_INT_IRQN);
  39.     gCheckADC = false;

  40.     while (1) {
  41.        DL_ADC12_startConversion(ADC12_0_INST);

  42.         while (false == gCheckADC) {
  43.             __WFE();
  44.         }

  45.         gCheckADC = false;
  46.         gAdcResult = DL_ADC12_getMemResult(ADC12_0_INST, DL_ADC12_MEM_IDX_0);

  47.         if (gAdcResult > 0x200) {
  48.             DL_GPIO_setPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN);
  49.         } else {
  50.             DL_GPIO_clearPins(GPIO_LEDS_PORT, GPIO_LEDS_USER_LED_1_PIN);
  51.         }
  52.         DL_ADC12_enableConversions(ADC12_0_INST);
  53.     }
  54. }

  55. void ADC12_0_INST_IRQHandler(void)
  56. {
  57.     switch (DL_ADC12_getPendingInterrupt(ADC12_0_INST)) {
  58.         case DL_ADC12_IIDX_MEM0_RESULT_LOADED:
  59.             gCheckADC = true;
  60.             DL_ADC12_disableConversions(ADC12_0_INST);
  61.             break;
  62.         default:
  63.             break;
  64.     }
  65. }


 楼主| xyz549040622 发表于 2023-2-12 23:17 | 显示全部楼层
从IO设置的代码看,没有延续以前TI的风格代码,TM4C或者msp432的,反而和现在主流的ARM底层库靠拢。
gaoyang9992006 发表于 2023-2-13 16:17 | 显示全部楼层
DL是什么鬼,花里胡哨的命名,哈哈。
dw772 发表于 2023-3-5 20:54 | 显示全部楼层
gaoyang9992006 发表于 2023-2-13 16:17
DL是什么鬼,花里胡哨的命名,哈哈。

哈哈,就是HAL
caigang13 发表于 2023-3-6 07:31 来自手机 | 显示全部楼层
越来越冷像ST的HAL库了
gaoyang9992006 发表于 2023-3-6 08:51 | 显示全部楼层
caigang13 发表于 2023-3-6 07:31
越来越冷像ST的HAL库了

命名规则让人不敢喜欢,既不像美风,又不像中风,像美日杂合风。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群: 嵌入式系统arm初学者 224636155←← +→→点击-->小 i 精品课全集,21ic公开课~~←←→→点击-->小 i 精品课全集,给你全方位的技能策划~~←←

2841

主题

19330

帖子

110

粉丝
快速回复 在线客服 返回列表 返回顶部