做一个stm32mp157dac1的最小系统---电源初探1(连载)

        好好吃饭,努力搬砖。大家好,我是搬砖的山里娃。开工典礼结束也有一段时间了,今天就拿着地基施工图纸来工地看看。

        我们拿到的是stm32mp157dac1的地块,我们从ST官网上下载其参考手册可以了解到这是一个TFBGA361脚的芯片,整个范围12mm*12mm的正方形,如下图所示 

图片来自ST的参考手册

        这是一个整体的图,我们施工第一步是通电,这就需要按照要求精确把各个大小的电压准确地送到指定的位置上,这个时候对于精确地去了解需要引电的位置有哪些,各个引电的位置的名称叫什么,需要多大电压等等。这些在ST官网上都可以找到我们需要的资料。我们第一步任务就是仔细阅读在参考手册、数据手册、应用指南等资料。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32MP157芯片集成了多个DAC通道,可以通过配置DAC控制器和DAC数据寄存器来实现驱动。以下是DAC驱动的基本步骤: 1.配置GPIO引脚为DAC输出模式。 2.初始化DAC控制器,设置DAC输出模式、数据对齐方式、触发源等参数。 3.定义DAC输出缓冲区,并将要输出的数据写入缓冲区。 4.启动DAC输出,将缓冲区中的数据输出到DAC通道。 下面是一个简单的DAC驱动示例代码: ```c #include "stm32mp1xx_hal.h" DAC_HandleTypeDef hdac; void DAC_Init(void) { GPIO_InitTypeDef GPIO_InitStruct = {0}; /* 配置GPIO为DAC输出模式 */ GPIO_InitStruct.Pin = GPIO_PIN_4; GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /* 初始化DAC控制器 */ hdac.Instance = DAC1; HAL_DAC_Init(&hdac); /* 配置DAC输出参数 */ DAC_ChannelConfTypeDef sConfig = {0}; sConfig.DAC_SampleAndHold = DAC_SAMPLEANDHOLD_DISABLE; sConfig.DAC_Trigger = DAC_TRIGGER_NONE; sConfig.DAC_HighFrequency = DAC_HIGH_FREQUENCY_INTERFACE_MODE_DISABLE; sConfig.DAC_SignedOutput = DAC_SIGNED_OUTPUT_DISABLE; sConfig.DAC_OutputBuffer = DAC_OUTPUTBUFFER_ENABLE; HAL_DAC_ConfigChannel(&hdac, &sConfig, DAC_CHANNEL_1); } void DAC_SetValue(uint16_t value) { /* 将输出数据写入DAC数据寄存器 */ HAL_DAC_SetValue(&hdac, DAC_CHANNEL_1, DAC_ALIGN_12B_R, value); /* 启动DAC输出 */ HAL_DAC_Start(&hdac, DAC_CHANNEL_1); } ``` 在上面的示例代码中,我们使用DAC1通道1作为输出通道,并且将PA4引脚配置为DAC输出模式。DAC_SetValue函数用于设置DAC输出值,将value参数写入DAC数据寄存器,并启动DAC输出。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值