SWM341_dac.c 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /******************************************************************************************************************************************
  2. * 文件名称: SWM341_dac.c
  3. * 功能说明: SWM341单片机的DAC模块驱动库
  4. * 技术支持: http://www.synwit.com.cn/e/tool/gbook/?bid=1
  5. * 注意事项:
  6. * 版本日期: V1.1.0 2017年10月25日
  7. * 升级记录:
  8. *
  9. *
  10. *******************************************************************************************************************************************
  11. * @attention
  12. *
  13. * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION
  14. * REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, SYNWIT SHALL NOT BE HELD LIABLE
  15. * FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT
  16. * OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONN-
  17. * -ECTION WITH THEIR PRODUCTS.
  18. *
  19. * COPYRIGHT 2012 Synwit Technology
  20. *******************************************************************************************************************************************/
  21. #include "SWM341.h"
  22. #include "SWM341_dac.h"
  23. /******************************************************************************************************************************************
  24. * 函数名称: DAC_Init()
  25. * 功能说明: DAC 初始化
  26. * 输 入: DAC_TypeDef * DACx 指定要被设置的DAC接口,有效值包括DAC
  27. * uint32_t format 数据格式,可取值DAC_FORMAT_LSB12B、DAC_FORMAT_MSB12B、DAC_FORMAT_8B
  28. * 输 出: 无
  29. * 注意事项: 无
  30. ******************************************************************************************************************************************/
  31. void DAC_Init(DAC_TypeDef * DACx, uint32_t format)
  32. {
  33. switch((uint32_t)DACx)
  34. {
  35. case ((uint32_t)DAC):
  36. SYS->CLKEN1 |= (0x01 << SYS_CLKEN1_DAC_Pos);
  37. break;
  38. }
  39. SYS->DACCR &= ~SYS_DACCR_VRADJ_Msk;
  40. SYS->DACCR |= ((SYS->BACKUP[2] & 0x1F) << SYS_DACCR_VRADJ_Pos);
  41. DACx->CR = (format << DAC_CR_DHRFMT_Pos);
  42. }
  43. /******************************************************************************************************************************************
  44. * 函数名称: DAC_Open()
  45. * 功能说明: DAC 开启
  46. * 输 入: DAC_TypeDef * DACx 指定要被设置的DAC接口,有效值包括DAC
  47. * 输 出: 无
  48. * 注意事项: 无
  49. ******************************************************************************************************************************************/
  50. void DAC_Open(DAC_TypeDef * DACx)
  51. {
  52. DACx->CR |= (1 << DAC_CR_EN_Pos);
  53. }
  54. /******************************************************************************************************************************************
  55. * 函数名称: DAC_Close()
  56. * 功能说明: DAC 关闭
  57. * 输 入: DAC_TypeDef * DACx 指定要被设置的DAC接口,有效值包括DAC
  58. * 输 出: 无
  59. * 注意事项: 无
  60. ******************************************************************************************************************************************/
  61. void DAC_Close(DAC_TypeDef * DACx)
  62. {
  63. DACx->CR &= ~DAC_CR_EN_Msk;
  64. }