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

推荐订阅源

MyScale Blog
MyScale Blog
WordPress大学
WordPress大学
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
CXSECURITY Database RSS Feed - CXSecurity.com
I
Intezer
V
Visual Studio Blog
Cisco Talos Blog
Cisco Talos Blog
Microsoft Azure Blog
Microsoft Azure Blog
S
Securelist
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
N
News and Events Feed by Topic
Recorded Future
Recorded Future
Simon Willison's Weblog
Simon Willison's Weblog
G
GRAHAM CLULEY
酷 壳 – CoolShell
酷 壳 – CoolShell
L
Lohrmann on Cybersecurity
U
Unit 42
Hacker News: Ask HN
Hacker News: Ask HN
阮一峰的网络日志
阮一峰的网络日志
Vercel News
Vercel News
PCI Perspectives
PCI Perspectives
H
Help Net Security
C
Cisco Blogs
爱范儿
爱范儿
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
小众软件
小众软件
T
Tor Project blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Schneier on Security
Schneier on Security
H
Hackread – Cybersecurity News, Data Breaches, AI and More
www.infosecurity-magazine.com
www.infosecurity-magazine.com
IT之家
IT之家
J
Java Code Geeks
人人都是产品经理
人人都是产品经理
Spread Privacy
Spread Privacy
T
The Blog of Author Tim Ferriss
Application and Cybersecurity Blog
Application and Cybersecurity Blog
AI
AI
S
Security @ Cisco Blogs
T
Tenable Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
aimingoo的专栏
aimingoo的专栏
Cloudbric
Cloudbric
D
Docker
W
WeLiveSecurity
Hacker News - Newest:
Hacker News - Newest: "LLM"
F
Fortinet All Blogs
The Hacker News
The Hacker News
Help Net Security
Help Net Security

洛屿的小站

一种简单的卡尔曼滤波器设计 Cadence - 应律而动,落指成音 Zephyr - 聆风之息,为你而奏 不改一行插件代码,实现消息优先级与阻断 洛玖定时任务系统 在 butterfly 主题中添加首页点集动画(基于p2line项目) 你好,2026 stm32f4xx-ads1256驱动 stm32f4xx-ad9854并行驱动 主动式网站状态监测实现及其应用 右键菜单加入用Trae打开文件和文件夹 三角洲行动ID映射表 洛玖SDK说明 为网页文章开头添加原文连接 Hexo-Butterfly主题在主页添加GitHub贡献日历 Proteus中555定时器仿真问题 装饰器 洛玖开发日记 STS3032舵机获取力矩输出 kotlin网页前后端那些事 奇怪的bug Paddle模型转PaddleLite 人工智能考核 构建一个yolov3网络 yolo和paddle模型常见输出参数 PaddleDetection 随便写的一些东西 实验室C语言第一次考核题目讲解及相关代码解读 C语言神经网络房价预测系统 C、C++数组,指针,指针数组,数组指针的区别 C、C++的大括号是必须的部分吗? C、C++预处理详解 C、C++其他关键字详解 C、C++存储类型关键字详解 C、C++控制语句关键字详解 C、C++数据类型关键字详解 C、C++关键字 C++药品管理系统 Bi-LSTM(Attention)的PyTorch实现 C语言实现波士顿房价预测 easy库的使用 edgeboardFZ3A相关问题 Predict.py的编写 Paddle环境搭建 百度Paddle模型训练 GMD09601-0.96OLED显示屏 【LeetCode 1617】统计子树中城市之间最大距离 C语言学习相关 STM32阵列按键 CH32(F10X F20X) 最短路 拓扑排序
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