不想错过我的推送,记得右上角-查看公众号-设为星标,摘下星星送给我
信号发生器性能
系统方案
4) 按键模块采用独立按键的方式设置输出波形的类型、幅值和频率等数据。
输出信号实测
总体软件设计
代码实现
#define ad9851_rest_l HAL_GPIO_WritePin(AD9851_RESET_GPIO_Port, AD9851_RESET_Pin, GPIO_PIN_RESET)
#define ad9851_rest_h HAL_GPIO_WritePin(AD9851_RESET_GPIO_Port, AD9851_RESET_Pin, GPIO_PIN_SET)
#define ad9851_fq_up_l HAL_GPIO_WritePin(AD9851_FQ_UP_GPIO_Port, AD9851_FQ_UP_Pin, GPIO_PIN_RESET)
#define ad9851_fq_up_h HAL_GPIO_WritePin(AD9851_FQ_UP_GPIO_Port, AD9851_FQ_UP_Pin, GPIO_PIN_SET)
#define ad9851_w_clk_l HAL_GPIO_WritePin(AD9851_W_CLK_GPIO_Port, AD9851_W_CLK_Pin, GPIO_PIN_RESET)
#define ad9851_w_clk_h HAL_GPIO_WritePin(AD9851_W_CLK_GPIO_Port, AD9851_W_CLK_Pin, GPIO_PIN_SET)
#define ad9851_data_l HAL_GPIO_WritePin(AD9851_DATA_GPIO_Port, AD9851_DATA_Pin, GPIO_PIN_RESET)
#define ad9851_data_h HAL_GPIO_WritePin(AD9851_DATA_GPIO_Port, AD9851_DATA_Pin, GPIO_PIN_SET)
//串行口初始化
void ad9851_reset_serial()
{
GPIO_InitTypeDef GPIO_InitStruct = {0};
GPIO_InitStruct.Pin = AD9851_RESET_Pin|AD9851_FQ_UP_Pin|AD9851_W_CLK_Pin|AD9851_DATA_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_PULLDOWN;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
ad9851_w_clk_l;
ad9851_fq_up_l;
ad9851_rest_l;
ad9851_rest_h;
ad9851_rest_l;
ad9851_w_clk_l;
ad9851_w_clk_h;
ad9851_w_clk_l;
ad9851_fq_up_l;
ad9851_fq_up_h;
ad9851_fq_up_l;
}
//串行口写入DDS寄存器
void ad9851_wr_serial(u8 w0,u32 frequence)
{
u8 i,w;
frequence=frequence*4294967296/180000000;
w=(frequence>>=0);
for(i=0;i<8;i++)
{
if((w>>i)&0x01)
ad9851_data_h;
else ad9851_data_l;
ad9851_w_clk_h;
ad9851_w_clk_l;
}
w=(frequence>>8);
for(i=0;i<8;i++)
{
if((w>>i)&0x01)
ad9851_data_h;
else ad9851_data_l;
ad9851_w_clk_h;
ad9851_w_clk_l;
}
w=(frequence>>16);
for(i=0;i<8;i++)
{
if((w>>i)&0x01)
ad9851_data_h;
else ad9851_data_l;
ad9851_w_clk_h;
ad9851_w_clk_l;
}
w=(frequence>>24);
for(i=0;i<8;i++)
{
if((w>>i)&0x01)
ad9851_data_h;
else ad9851_data_l;
ad9851_w_clk_h;
ad9851_w_clk_l;
}
w=w0;
for(i=0;i<8;i++)
{
if((w>>i)&0x01)
ad9851_data_h;
else ad9851_data_l;
ad9851_w_clk_h;
ad9851_w_clk_l;
}
ad9851_fq_up_h;
ad9851_fq_up_l;
}
—— The End ——
欢迎转发、留言、点赞、分享,感谢您的支持!