91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.21KB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2024-04-21
  • 語言: C/C++
  • 標簽: AD??程序??驅動??

資源簡介

AD5328驅動SPWM輸出

資源截圖

代碼片段和文件信息

/*
?*?AD5328.c
?*
?*??Created?on:?2017年7月3日
?*??????Author:?JH
?*/
#define??AD5328XX
#include?“AD5328.h“
#include?
#include?“arm_common_tables.h“
extern?void?Write_Byte(uint16_t?Data);
//頻率可設定??45-60HZ
//中斷里去更新?通過鎖存同步更新

/*
?*?函數功能:DA芯片初始化
?*?函數名:AD5328_Init
?*?返回:NULL
?*?參數1:NULL?????????????????????????????????????
?*/
void?AD5328_Init(void)
{
LOCK_DAC_SET;
SPI3_Write_Cmd(RST);
HAL_Delay(1);
SPI3_Write_Cmd(Buff_SET);?? //無增益??有緩存
SPI3_Write_Cmd(POWER_DOWN);
SPI3_Write_Cmd(LOCK_MODE_Updata); //單次更新模式

}

/*
?*?函數功能:SPI寫命令
?*?函數名:SPI3_Write_Cmd
?*?返回:NULL
?*?參數1:Cmd:命令值
?*/
void?SPI3_Write_Cmd(uint16_t?Cmd)
{
SYNC_DAC_CLR;

#ifdef?ASPI_Mod
Write_Byte(Cmd);
#else
SPI_Buff[0]?=?(uint8_t)(Cmd>>8); //第0位為命令?置1
SPI_Buff[1]?=?(uint8_t)(Cmd);
HAL_SPI_Transmit(&hspi3SPI_Buff2?1000);
#endif

SYNC_DAC_SET; ?//同步到輸入寄存器
}

/*
?*?函數功能:SPI寫數據
?*?函數名:SPI3_Write_Data
?*?返回:NULL
?*?參數1:Channel:通道選擇
?*?參數1:Tdata:要寫入的數據
?*/
void?SPI3_Write_Data(uint8_t?Channeluint16_t?Tdata)
{
SYNC_DAC_CLR;
sdata?=?(Channel<<12)?|?(Tdata&0x0FFF);
sdata?=?sdata?&?0x7FFF; //第0位為數據??置0
#ifdef?ASPI_Mod
Write_Byte(sdata);
#else
SPI_Buff[0]?=?(uint8_t)(sdata>>8);??
SPI_Buff[1]?=?(uint8_t)(sdata);
HAL_SPI_Transmit(&hspi3SPI_Buff21000);
#endif
SYNC_DAC_SET; ?//同步到輸入寄存器
}

/*
?*?函數功能:SPWM輸出DA值
?*?函數名:SPWM_Out_DAValue
?*?返回:NULL
?*?參數1:Channel:通道選擇0-7
?*?參數2:Phase:SPWM的相位0-360
?*?參數3:Dim_Vlaue:調整系數
?*?參數4:SW:SPWM輸出開關
?*/
void?SPWM_Out_DAValue(uint8_t?Channelfloat?Phaseint32_t?Dim_Vlaueuint8_t?typeFlagStatus?SW)
{
//使用DSP庫sin函數
if(SW?==?SW_ON)
{
Phase_x?=?(Phase+Spwm_Output_Cnt*360.0f/Sample_SIZE)*2.0f*PI/360.0f;
Table_Value?=?arm_sin_f32(Phase_x)*0.04096f*Dim_Vlaue;
DA_Value?=?Table_Value+?REF_AD_Value;
}
else
{
DA_Value?=?REF_AD_Value;
}
/*???????使能自己的表
if(SW?==?SW_ON)
{
Table_Value?=?Sample_SIZE*Phase/360+Spwm_Output_Cnt;
if(Table_Value>=Sample_SIZE)
{
Table_Value?=?Table_Value%Sample_SIZE; //防止數組溢出
}
if(Table_Value?==?0) //零點時更新調整值
{
?DIM_UI[type]?=?PID_DIM_UI[type];
}
DA_Value?=?SPWM_Table[Table_Value]*0.001f*DIM_UI[type]?+?REF_AD_Value;
}
else
{
DA_Value?=?REF_AD_Value;
}
*/

SPI3_Write_Data(ChannelDA_Value);
}



?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????2547??2020-09-02?10:24??AD5328.c

-----------?---------??----------?-----??----

?????????????????2547????????????????????1


評論

共有 條評論