• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > ARM板自身的四通道ADC采集的声音波形怎么会这样?

ARM板自身的四通道ADC采集的声音波形怎么会这样?

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了arm adc,arm中adc,nxp的arm开发板,arm工控板,arm fpga开发板等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:ARM板自身的四通道ADC采集的声音波形怎么会这样?
描述:

arm声音采集数据波形ADC采样

用TQ2440开发板ADC做声音采集,AD转换频率是0.5MHz,AD转换时间是10us,采样频率是25KHz,采样点数是1024。采集数据写入文件,之后用Matlab画出采样点数和数值的波形,采集数据代码如下:
(在上层应用ioctl()控制ADC通道切换,四通道引脚悬空或接地或接3.3V时数据均能够正常显示,但是在接入麦克风之后出现波形如图所示那样,跪求大神指导)
#define  DEVICE_NAME "/dev/sample"
#define COUNT 1024
int main ()
{
FILE *fp0, *fp1, *fp2, *fp3;
int count = 0;
int fd, ret, value;
char buffer[30];
float temp;
char channel;
// unsigned long arg = 0x63;
fd = open(DEVICE_NAME, 0);
fp0 = fopen("sample1.txt", "w");
fp1 = fopen("sample2.txt", "w");
fp2 = fopen("sample3.txt", "w");
fp3 = fopen("sample4.txt", "w");
if(fp0 == NULL || fp1 == NULL || fp2 == NULL || fp3 == NULL)
{
printf("Open file error!\n");
exit(1);
}
printf("open fd = %d\n", fd);
if(fd < 0)
{
perror("Open ADC Device Failed!\n");
exit(1);
}
while(1)
{
if(count < COUNT)
{
count++;
for(channel = 0; channel < 4; channel++)
{
ioctl(fd, channel, 1);
memset(buffer, 0, 30);
ret = read(fd, buffer, sizeof(buffer) - 1);
if(ret > 0)
{
buffer[ret] = '\0';
sscanf(buffer, "%d\n", &value);
temp =((float)value*3.3)/1024.0;
switch(channel)
{
  case 0: fprintf(fp0, "%f\n", temp);
break;
  case 1: fprintf(fp1, "%f\n", temp);
break;
  case 2: fprintf(fp2, "%f\n", temp);
break;
  case 3: fprintf(fp3, "%f\n", temp);
break;
}
// printf("ADC AIN[%d]:voltage:%4.2f Value: %d\n", channel, temp, value);
}
else
{
perror("read ADC device!\n");
exit(1);
}
}
}
else 
{
printf("The count of number is OK!\n");
break;
}
// sleep(1);
}
fclose(fp0);
fclose(fp1);
fclose(fp2);
fclose(fp3);
close(fd);
return 0;
}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ARM板自身的四通道ADC采集的声音波形怎么会这样?

相关文章

  • 2017-06-05 RAM中运行程序代码
  • 2017-06-05 问一个简单的问题,希望学硬件的朋友能给解答一下;
  • 2017-06-05 Debian在工控中的使用1(移植debian到Atmelsam9g25低成本工控平台)
  • 2017-06-05 如何在linux局域网内搭建一个dns服务,将主机名解析为ip?
  • 2017-06-05 vxworks中oaout文件的差别是什么?
  • 2017-06-05 每次关机都会弹出这个界面,怎么办
  • 2017-06-05 怎么样解决这样的问题,偶尔蓝屏,死机的问题。
  • 2017-06-05 windowscmd命令怎样让windows命令行支持utf-8字符集?
  • 2017-06-05 菜鸟请教编译usb驱动时出现的错误
  • 2017-06-05 zigbee与51单片机怎么连接?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • us/os-ii中有关任务调度的问题
    • 对PalmOS感兴趣的大侠们,不妨到"移动平台"下的"PalmOS"论坛去发发贴,提提意见!
    • ip地址查询详细地址现阶段是怎么利用IP地址的?
    • 我需要有关虚拟打印方面的技术支持,我会付报酬的!
    • 有谁做过驱动安装程序
    • DSP通过CY7C68001实现USB串口的程序看不明白
    • 电脑键盘口应用的产品问题
    • 请问TM-INTEL815Efor98驱动的URL
    • sdram只能读取到最后写入的数据
    • 在dspbuilder130(matlab13a+quartus130版本下),进行标准库编译没问题,高级库不成功。

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有