7.DSP软硬件开发实战课程
文章平均质量分 70
全面覆盖DSP开发的核心问题与实战技巧。从基础原理解析到高级应用案例,深入剖析DSP算法、硬件选型、软件优化等关键领域。专栏提供丰富知识分享,助您轻松掌握DSP开发精髓。无论您是初学者还是进阶者,这里都是您提升DSP技能的最佳平台。
可芯智能科技研究院
本人毕业于中南大学,人工智能硕博学历,从事软件开发十五年。曾在TDK人工智能研发中心任职,深入探索机器视觉技术,参与图像识别、目标跟踪等项目,成功应用深度学习等前沿技术于实际场景。后加入ATL,专注新能源及新型电力系统研发,主导充电桩电源、双向储能电源、无人机电源等多个重要项目的设计开发,掌握电力拓扑设计、仿真分析等核心技术,结合人工智能与物联网技术提升产品性能。在软件开发方面,本人精通各种编程语言和技术框架,具备出色的软件开发及调试能力。本人紧跟时代步伐,致力于新质生产力领域的研究。愿与志同道合的朋友共学、共享、共成长,共同在新能源、新型电力系统及人工智能与机器视觉领域创造更多价值。
展开
-
C语言编写一个五子棋游戏-代码实例讲解与分析
初始化棋盘:使用一个二维数组来表示棋盘,通常五子棋棋盘是15x15的。打印棋盘:根据棋盘数组的内容打印当前棋盘状态。玩家输入:获取玩家下棋的位置(行列号)。落子逻辑:检查输入的有效性(是否在棋盘范围内,该位置是否已被占用),并在有效时更新棋盘。检查胜利:每次落子后检查是否有玩家获胜。轮流下棋:通过循环让两位玩家轮流下棋,直到有玩家获胜或棋盘填满。原创 2024-09-28 22:21:38 · 2019 阅读 · 0 评论 -
分析第一个C语言程序
C语言自带的函数称为库函数(Library Function)。库(Library)是编程中的一个基本概念,可以简单地认为它是一些列函数的集合,在磁盘上往往是一个文件夹。C语言自带的库称为标准库(Standard Library),其他公司或个人开发的库称为第三方库(Third-Party Library)。关于库的概念,我们已在《不要这样学习C语言,这是一个坑》中进行了详细介绍。除了库函数,我们还可以编写自己的函数,拓展程序的功能。自己编写的函数称为自定义函数。原创 2024-09-28 22:14:57 · 865 阅读 · 0 评论 -
C语言程序的错误和警告
编译器只能检查编译和链接阶段出现的问题,而可执行程序已经脱离了编译器,运行阶段出现问题编译器是无能为力的。警告(Warning)表示可能会发生错误(实际上未发生)或者代码不规范,但是程序能够正常运行,有的警告可以忽略,有的要引起注意。可以看出,C-Free 的错误提示信息比较少,不方便程序员纠错。VC 和 VS 的错误信息类似,只是中英文的差别。我敢保证,你写的代码肯定会发生错误,一定要有分析错误的能力,这是一个合格的程序员必备的技能。图7:C-Free 5.0 的错误提示。图2:VC 6.0 的提示。原创 2024-09-28 22:12:35 · 987 阅读 · 0 评论 -
哪款C语言编译器(IDE)适合初学者?
C语言的集成开发环境有很多种,尤其是 Windows 下,多如牛毛,初学者往往不知道该如何选择,本节我们就针对 Windows、Linux 和 Mac OS 三大平台进行讲解。原创 2024-09-28 22:08:50 · 958 阅读 · 0 评论 -
什么是工程/项目?
一个真正的程序(也可以说软件)往往包含多项功能,每一项功能都需要几十行甚至几千行、几万行的代码来实现,如果我们将这些代码都放到一个源文件中,那将会让人崩溃,不但源文件打开速度极慢,代码的编写和维护也将变得非常困难。在实际开发中,程序员都是将这些代码分门别类地放到多个源文件中。除了这些成千上万行的代码,一个程序往往还要包含图片、视频、音频、控件、库(也可以说框架)等其它资源,它们也都是一个一个地文件。原创 2024-09-28 22:03:31 · 956 阅读 · 0 评论 -
什么是IDE(集成开发环境)?
它是一个综合性的软件应用程序,旨在为软件开发者提供一整套的、易于使用的工具集,以便他们能够更高效地编写、调试、测试和部署代码。它通过将各种开发工具集成在一起,为开发者提供了一个高效、便捷的工作环境。对于包含多个文件和复杂依赖关系的项目,IDE提供了项目管理工具,帮助开发者组织代码、管理资源(如图片、视频、第三方库等)、跟踪依赖项,并自动生成构建脚本。现代IDE通常支持与版本控制系统(如Git、SVN等)的集成,允许开发者直接在IDE内部进行代码的提交、拉取、分支管理等操作,进一步简化了版本控制流程。原创 2024-09-28 21:54:02 · 1618 阅读 · 0 评论 -
C语言编译和链接详解(通俗易懂,深入本质)
编译就是将我们编写的源代码“翻译”成计算机可以识别的二进制格式,它们以目标文件的形式存在;链接就是一个“打包”的过程,它将所有的目标文件以及系统组件组合成一个可执行文件。如果不是特别强调,一般情况下我们所说的“编译器”实际上也包括了链接器,比如,你使用了哪种编译器?去哪里下载C语言编译器?我的编译器为什么报错了呢?原创 2024-09-28 21:44:33 · 1140 阅读 · 0 评论 -
什么是源文件?
将代码保存到源文件只是软件开发的第一步。在开发过程中,还需要理解编译、链接等概念,掌握源代码管理和版本控制工具的使用,以及遵循良好的编程风格和规范。这些知识和技能将帮助开发者更加高效地编写、测试和维护代码,从而开发出高质量的软件产品。原创 2024-09-26 21:55:25 · 391 阅读 · 0 评论 -
C语言编译和链接详解(通俗易懂,深入本质)
编译就是将我们编写的源代码“翻译”成计算机可以识别的二进制格式,它们以目标文件的形式存在;链接就是一个“打包”的过程,它将所有的目标文件以及系统组件组合成一个可执行文件。如果不是特别强调,一般情况下我们所说的“编译器”实际上也包括了链接器,比如,你使用了哪种编译器?去哪里下载C语言编译器?我的编译器为什么报错了呢?原创 2024-09-26 21:54:29 · 1295 阅读 · 0 评论 -
编程时请选择正确的输入法,严格区分中英文
计算机起源于美国,C语言、等很多流行的编程语言都是美国人发明的,所以在编写代码的时候必须使用,尤其是标点符号,初学者一定要引起注意。例如,上节我们使用 puts 语句在显示器上输出内容:puts("C语言中文网");这里的括号、双引号、分号都必须是英文符号,而且是半角的。下图演示了如何将搜狗输入法切换到英文半角状态:图1:搜狗输入法初学者请务必注意标点符号的问题,它们在视觉上的差别很小,一旦将英文符号写成中文符号就会导致错误,而且往往不容易发现。我在给。原创 2024-09-26 21:52:44 · 460 阅读 · 0 评论 -
第一个C语言程序
我们有两种方式从计算机获得信息:一是看屏幕上的文字、图片、视频等,二是听从喇叭发出来的声音。让喇叭发出声音目前还比较麻烦,我们先来看看如何在屏幕上显示一些文字吧。在屏幕上显示文字非常简单,只需要一个语句,例如,下面的代码会让屏幕显示出“C语言中文网”:puts("C语言中文网");这里有一个生疏的词汇puts,用来让计算机在屏幕上显示文字。puts 是 output string 的缩写,意思是”输出字符串“。在C语言中,字符串需要用双引号" "包围起来,C语言中文网。原创 2024-09-26 21:51:32 · 327 阅读 · 0 评论 -
ASCII编码,将英文存储到计算机
前面我们已经讲到,计算机是以二进制的形式来存储数据的,它只认识 0 和 1 两个数字,我们在屏幕上看到的文字,在存储之前都被转换成了二进制(0和1序列),在显示时也要根据二进制找到对应的字符。可想而知,特定的文字必然对应着固定的二进制,否则在转换时将发生混乱。那么,怎样将文字与二进制对应起来呢?这就需要有一套规范,计算机公司和软件开发者都必须遵守,这样的一套规范就称为字符集(Character Set)或者字符编码(Character Encoding)。原创 2024-09-26 21:49:31 · 994 阅读 · 0 评论 -
载入内存,让程序运行起来
如果你的电脑上安装了QQ,你希望和好友聊天,会双击QQ图标,打开QQ软件,输入账号和密码,然后登录就可以了。那么,QQ是怎么运行起来的呢?首先,有一点你要明确,你安装的QQ软件是保存在硬盘中的。双击QQ图标,操作系统就会知道你要运行这个软件,它会在硬盘中找到你安装的QQ软件,将数据(安装的软件本质上就是很多数据的集合)复制到内存。对!就是复制到内存!QQ不是在硬盘中运行的,而是在内存中运行的。为什么呢?因为内存的读写速度比硬盘快很多。原创 2024-09-26 21:48:10 · 512 阅读 · 0 评论 -
数据在内存中的存储(二进制形式存储)
计算机要处理的信息是多种多样的,如数字、文字、符号、图形、音频、视频等,这些信息在人们的眼里是不同的。但对于计算机来说,它们在内存中都是一样的,都是以二进制的形式来表示。要想学习编程,就必须了解二进制,它是计算机处理数据的基础。内存条是一个非常精密的部件,包含了上亿个电子元器件,它们很小,达到了纳米级别。这些元器件,实际上就是电路;电路的电压会变化,要么是 0V,要么是 5V,只有这两种电压。5V 是通电,用1来表示,0V 是断电,用0来表示。所以,一个元器件有2种状态,0 或者 1。原创 2024-09-26 21:46:21 · 690 阅读 · 0 评论 -
进制转换:二进制、八进制、十六进制、十进制之间的转换
本节前面两部分讲到的转换方法是通用的,任何进制之间的转换都可以采用,只是有时比较麻烦而已。二进制和八进制、十六进制之间的转换有非常简洁的方法,所以没有采用前面的方法。原创 2024-09-26 21:44:42 · 961 阅读 · 0 评论 -
进制详解:二进制、八进制和十六进制
我们平时使用的数字都是由 0~9 共十个数字组成的,例如 1、9、10、297、952 等,一个数字最多能表示九,如果要表示十、十一、二十九、一百等,就需要多个数字组合起来。例如表示 5+8 的结果,一个数字不够,只能”进位“,用 13 来表示;这时”进一位“相当于十,”进两位“相当于二十。因为逢十进一(满十进一),也因为只有 0~9 共十个数字,所以叫做十进制(Decimalism)。十进制是在人类社会发展过程中自然形成的,它符合人们的思维习惯,例如人类有十根手指,也有十根脚趾。原创 2024-09-26 21:42:16 · 747 阅读 · 0 评论 -
C语言2048小游戏演示和说明
2048游戏是风靡一时的小游戏,我们提供的2048小游戏不依赖 TC 环境,不依赖任何第三方库,可以在 VS、CodeBlocks、DEV。设计 2048 小游戏的主要目的是让大家夯实 C 语言基础,训练编程思维,培养解决问题的思路,领略多姿多彩的 C 语言。等常见 IDE中编译通过。原创 2024-09-26 21:36:12 · 303 阅读 · 0 评论 -
英语和数学不好,能学编程吗?
当然,我们可以继续补充和完善这篇文章,以更全面地解答初学者的疑虑。很多初学者在踏入编程领域之前,都会担心自己的英语和数学基础是否足够。但实际上,这些担忧往往是多余的。下面,我将进一步阐述为什么英语基础不好和数学基础不好都不会成为学习编程的障碍。原创 2024-09-26 21:34:43 · 395 阅读 · 0 评论 -
学编程难吗?多久能入门?
定期对自己的学习成果进行反思和总结。找出自己的不足之处,并制定相应的改进计划。同时,也要学会欣赏自己的进步和成就,保持对编程的热爱和信心。原创 2024-09-26 16:15:13 · 868 阅读 · 0 评论 -
Modbus协议简介
MODBUS协议详细定义了校验码、数据序列等,这些都是特定数据交换的必要内容。MODBUS协议在一根通讯线上使用主从应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传输。首先,主计算机的信号寻址到一台唯一的终端设备(从机),然后,终端设备发出的应答信号以相反的方向传输给主机。MODBUS协议只允许在主计算机和终端设备之间通讯,而不允许独立的设备之间的数据交换,这样各终端设备不会在它们初始化时占据通讯线路,而仅限于响应到达本机的查询信号。原创 2024-05-10 08:33:47 · 47 阅读 · 0 评论 -
DSP28335开发教程--CCS问题02:Tnteger conversion resulted in truncation
具体来说,就是将一个较大的数值(可能是浮点数、长整型等)转换为较小的整数类型时,原始数值超出了目标整数类型能表示的范围,因此被截断(即高位数据被丢弃)以匹配目标整数类型的大小。例如,你可以设置一个上限值,当数值超过这个上限时,就使用上限值来代替原始数值进行转换。:在某些情况下,你可能需要使用特定的转换函数或方法来确保转换的准确性。例如,在C++中,你可以使用。:确保你选择的整数类型足够大,能够容纳转换前的数值。:在进行类型转换时,考虑到可能会有异常或错误发生,确保你的代码能够捕获并适当处理这些情况。原创 2024-05-08 16:15:02 · 747 阅读 · 0 评论 -
DSP28335开发教程--CCS问题01:Texas Instruments XDS100V3 : Target must be connected before loading program.
解决办法:打开属性选项中的Debug项中的Auto Run and Launch。出现程序烧录后直接不运行问题,显示。原创 2024-05-08 15:17:32 · 547 阅读 · 0 评论 -
DSP开发实战教程-国产DSP替代进口TI DSP的使用技巧
复制进芯电子国产DSP官网提供的配置文件。原创 2024-04-27 10:07:20 · 975 阅读 · 0 评论 -
DSP开发实战教程--EPWM模块的影子寄存器详细讲解原理和代码实例
EPWM模块影子寄存器的原理在TI(Texas Instruments)的DSP28335中,EPWM(Enhanced Pulse Width Modulator)模块提供了高精度、高灵活性的PWM信号生成功能。为了能在不影响当前PWM波形输出的情况下预装载新的PWM参数(如周期、占空比等),EPWM模块引入了影子寄存器的概念。原创 2024-04-23 14:11:16 · 1719 阅读 · 0 评论 -
DSP开发实战教程--#pragma CODE_SECTION使用技巧
这在嵌入式系统中是非常有用的,因为你可以根据需要将代码或数据放置在特定的内存区域,以优化性能或满足特定的硬件约束。注意:使用 #pragma CODE_SECTION 需要确保你的链接器脚本(linker script)已经定义了相应的内存段,并且你的系统有足够的RAM资源来存储这些函数。在使用之前,请查阅你的编译器和平台的文档以获取准确的信息。在这个例子中,criticalFunction 的代码将被放置在 “ramfuncs” 段中,这意味着它将在RAM中执行,从而可能获得更快的执行速度。原创 2024-04-23 11:06:20 · 1434 阅读 · 0 评论 -
DSP28系列 CCS 开发问题总结及解决办法
DSP开发问题汇总及问题解决办法处理。在DSP的使用开发过程中,需要及时记录自己解决的问题及相应的方法,以便于日后查看。原创 2023-02-21 16:32:46 · 3785 阅读 · 0 评论 -
ccs导入工程失败的处理方法
【代码】ccs导入工程失败的处理方法。原创 2023-02-09 08:34:26 · 6969 阅读 · 0 评论 -
CSDN博客创建目录的方法
CSDN博客创建目录的方法原创 2023-02-06 15:34:09 · 973 阅读 · 0 评论 -
GD32F3x系列中断按键输入控制程序--多个外部中断触发
GD32配置中断处理函数原创 2022-12-01 14:07:17 · 781 阅读 · 0 评论