惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
D
Docker
S
SegmentFault 最新的问题
博客园 - 聂微东
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
GbyAI
GbyAI
L
LangChain Blog
Vercel News
Vercel News
博客园 - 叶小钗
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
Engineering at Meta
Engineering at Meta
T
Threat Research - Cisco Blogs
T
Threatpost
Scott Helme
Scott Helme
T
Tailwind CSS Blog
Latest news
Latest news
Stack Overflow Blog
Stack Overflow Blog
Blog — PlanetScale
Blog — PlanetScale
The Register - Security
The Register - Security
罗磊的独立博客
P
Proofpoint News Feed
腾讯CDC
S
Schneier on Security
雷峰网
雷峰网
A
About on SuperTechFans
T
Tenable Blog
F
Full Disclosure
Cyberwarzone
Cyberwarzone
博客园_首页
有赞技术团队
有赞技术团队
K
Kaspersky official blog

文章列表

不改一行插件代码,实现消息优先级与阻断 洛玖定时任务系统 在 butterfly 主题中添加首页点集动画(基于p2line项目) 你好,2026 stm32f4xx-ads1256驱动 stm32f4xx-ad9854并行驱动 主动式网站状态监测实现及其应用 右键菜单加入用Trae打开文件和文件夹 三角洲行动ID映射表 洛玖SDK说明 为网页文章开头添加原文连接 Hexo-Butterfly主题在主页添加GitHub贡献日历 Proteus中555定时器仿真问题 装饰器 洛玖开发日记 STS3032舵机获取力矩输出 kotlin网页前后端那些事 奇怪的bug Paddle模型转PaddleLite
mspm0g3507-ad9850
洛屿 · 2024-08-29 · via

通过gpio口串行配置a9850的信号输出频率

ad9850_wr_serial(w0写入数据, 频率(HZ));

调用格式:

1
2
ad9850_init_serial();
ad9850_wr_serial(0x00, 10000000.0); // 设为10MHz

a9850.h

1
2
3
4
5
6
7
8
9
10

#ifndef __AD9850_H__
#define __AD9850_H__

#include "headfile.h"
void ad9850_init_serial(void);
void ad9850_wr_serial(unsigned char w0, const double frequence);

#endif

a9850.C

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92

#include "ti_msp_dl_config.h"
#include "ad9850.h"
#include <stdio.h>

#define ad9850_w_clk(bit) ((bit) == 0 ? DL_GPIO_clearPins(GPIOA, GPIO_AD9850_PIN_W_CLK_PIN) : DL_GPIO_setPins(GPIOA, GPIO_AD9850_PIN_W_CLK_PIN) )
#define ad9850_fq_ud(bit) ((bit) == 0 ? DL_GPIO_clearPins(GPIOB, GPIO_AD9850_PIN_FQ_UD_PIN) : DL_GPIO_setPins(GPIOB, GPIO_AD9850_PIN_FQ_UD_PIN) )
#define ad9850_rest(bit) ((bit) == 0 ? DL_GPIO_clearPins(GPIOA, GPIO_AD9850_PIN_REST_PIN) : DL_GPIO_setPins(GPIOA, GPIO_AD9850_PIN_REST_PIN) )
#define ad9850_bit_data(bit) ((bit) == 0 ? DL_GPIO_clearPins(GPIOA, GPIO_AD9850_PIN_BIT_DATA_PIN) : DL_GPIO_setPins(GPIOA, GPIO_AD9850_PIN_BIT_DATA_PIN) )

// 串行初始化
void ad9850_init_serial(void) {
ad9850_w_clk(0);
ad9850_fq_ud(0);

//rest信号
ad9850_rest(0);
ad9850_rest(1);
ad9850_rest(0);

//w_clk信号
ad9850_w_clk(0);
ad9850_w_clk(1);
ad9850_w_clk(0);

//fq_up信号
ad9850_fq_ud(0);
ad9850_fq_ud(1);
ad9850_fq_ud(0);
}

//***************************************************//
// 向ad9850中写命令与数据(串口) //
//---------------------------------------------------//
void ad9850_wr_serial(unsigned char w0, const double frequence) {
unsigned char i = 0, w = 0;
long long y = 0;
long double x = 0.0f;
//计算频率的HEX值
x = 4294967295.0/125.0;//适合125M晶振
long double freq = frequence;
freq = freq / 1000000.0 * x;
y = freq;
//写w4数据
w=(y>>=0);
for(i=0;i<8;i++) {
uint8_t data = (w>>i)&0x01;
ad9850_bit_data(data);
ad9850_w_clk(1);
ad9850_w_clk(0);
}
//写w3数据
w=(y>>8);
for(i=0;i<8;i++) {
uint8_t data = (w>>i)&0x01;
ad9850_bit_data(data);
ad9850_w_clk(1);
ad9850_w_clk(0);
}
//写w2数据
w=(y>>16);
for(i=0;i<8;i++) {
uint8_t data = (w>>i)&0x01;
ad9850_bit_data(data);
ad9850_w_clk(1);
ad9850_w_clk(0);
}
//写w1数据
w=(y>>24);
for(i=0;i<8;i++) {
uint8_t data = (w>>i)&0x01;
ad9850_bit_data(data);
ad9850_w_clk(1);
ad9850_w_clk(0);

}
//写w0数据
w=w0;
for(i=0;i<8;i++) {
uint8_t data = (w>>i)&0x01;
ad9850_bit_data(data);
ad9850_w_clk(1);
ad9850_w_clk(0);

}
//移入始能
ad9850_fq_ud(1);
ad9850_fq_ud(0);

}

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 洛屿的小站

打赏

  • wechat

    wechat

  • alipay

    alipay