当前位置: 首页 > news >正文

2025嵌入式软件开发工程师--音频方向

一、选择题(每题3分,共30分)

1.以下哪个不是C语言中的关键字?(  )

A. int
B. Float
C. Define
D. Return

2.以下代码的输出是: ( )

inta= 5, b= 10;

printf("%d“, a++ + ++b);
A. 15
B.16
C.17
D.18

3.以下哪c()算符的优先级最高?( )
A.+
B.*
C.=
D.&&

4.以下关于指针的说法错误的是?( )

A.指针变量存储的是内存地址

B.指针可以进行加减运算

C.指针可以指向任何类型的数据

D.指针变量必须先初始化再使用

5.以下哪个函数可以用于动态分配内存?( )
A, malloc()
B. calloc()
C. realloc()
D.以上都是

6.以下哪个预处理指令用于包含头文件?(  )
A. #define
B. #include
C. #ifdef
D. #endif

7.以下代码的输出是:(  )
int arr[] = {1, 2, 3, 4, 5};
int *p=arr+ 2;
printf("%d", *p);

A. 1

B.2
C.3
D.4

8.在嵌入式系统中,以下哪种方法常用于降低功耗(  )
A.增加主频
B.关闭未使用的外设时钟
C.频繁轮询外设状态
D.使用动态内存分配

9.以下关于看门狗定时器(Watchdog)的说法正确的是:(  )
发A.看门狗溢出会导致系统复位
B.看门狗只能通过硬件配置
C.看门狗定时器不需要定期喂狗
D.看门狗用于提高系统运行速度

10.配置 STM32的 ADC 为连续转换模式时,应选择的触源是:(  )
A. 外部引脚触发
B.软件触发
C.定时器触发
D.自动连续触发

二、填空题(每题4分,共20分)

1.以下代码的输出是________
数 int a=10;
int *p = &a;
*p= 20;
printf("%d“, a);

2.以下代码的功能是分高并输出16bt数据中的高8据,补全代码:
uint8_t get_hight_8bit_func(uint16_t yal) {

return_______;

}

3.以下代码的功能是交换两个变量的值,请补全代码:

void swap(int *a, int *b) {

______= *a;

*a=*b;

*b=______;

}

4.请写出以下代码段的输出结果______

int a = 10;

int *p= &a;

*p=20;

printf("%d", a);

三、编程题(每题 25 分,共 50 分)

1.假设有以下数组 uint8_tnumber10)=(15,92,62,8,16,28,99,20,32,40);,编写一个的数,能将数组内的数据从小到大从新排序川打印输出。丽数名已绘出voidtestfunc(uint8t*number);

2.在蓝牙头戴耳机的研发过程中,存在过硬件设计接错导致了左右声道接反的失误,这时候就需要我们耳机去调换声道数据。我们以POM 格式的音频数据为例,如图:

在此,就需要我们通过程序,讲左右声道的数据互换、举个例子
原来声道数据:0X9A 0X68 0X88 0X33 0X12 0x12 0X45 0X45
调换声道后的数据:0x88 0X33 0X9A 0X68 0X45 0X45 0X12 0X12
实现功能:将原始POM 数据以形参形式传入,最终返网调换声道后的数据、函数名已给出 uint8t*swtch_pcm_channel(uint8_t*base_pcmbuff);

相关文章:

2025嵌入式软件开发工程师--音频方向

一、选择题(每题3分,共30分) 1.以下哪个不是C语言中的关键字?( ) A. int B. Float C. Define D. Return 2.以下代码的输出是: ( ) inta 5, b 10; printf("%d“, a b); A. 15 B.16 …...

C#释放内存空间的方法

目录 前言释放 C# 对象内存的六种方法1、手动释放内存空间2、使用 Using 语句3、使用 垃圾回收器4、GC.Collect() 方法5、GC.WaitForPendingFinalizers() 方法6、WeakReference 类 注意 前言 当不再需要对象时释放内存空间对于防止内存泄漏和提高应用程序性能至关重要。C# 提供…...

《鸢尾花数学大系:从加减乘除到机器学习》开源资源

《鸢尾花数学大系:从加减乘除到机器学习》开源资源 Gitee:https://gitee.com/higkoo/ bilibili:https://space.bilibili.com/513194466 GitHub:https://github.com/Visualize-ML...

如何将一台服务器的pip环境迁移到另一个机器?

在没有网络的情况下,将一台服务器的 pip 环境迁移到另一台机器,可按以下步骤进行操作: 步骤一:在源服务器上导出已安装的包列表 在有网络且已安装所需 Python 包的源服务器上,使用以下命令导出已安装的 Python 包列表: pip freeze > requirements.txt该命令会将当前…...

Java 入门 (超级详细)

一、什么是Java Java是一种高级编程语言,由Sun Microsystems公司于1995年推出。Java具有跨平台性、面向对象、健壮性、安全性、可移植性等特点,被广泛应用于企业级应用开发、移动应用开发、大数据处理、云计算等领域。Java程序可以在不同的操作系统上运…...

计算机基础面试(数据结构)

1. 数组和链表的区别是什么?各自的优缺点是什么? 专业解答: 数组内存连续,支持随机访问,但插入删除效率低;链表内存离散,插入删除高效,但访问需遍历。 初中生版: 数组像…...

DBGPT安装部署使用

简介 DB-GPT是一个开源的AI原生数据应用开发框架(AI Native Data App Development framework with AWEL(Agentic Workflow Expression Language) and Agents)。 目的是构建大模型领域的基础设施,通过开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Mul…...

【蓝桥杯单片机】第十二届省赛

一、真题 二、模块构建 1.编写初始化函数(init.c) void Cls_Peripheral(void); 关闭led led对应的锁存器由Y4C控制关闭蜂鸣器和继电器 由Y5C控制 2.编写LED函数(led.c) void Led_Disp(unsigned char ucLed); 将ucLed取反的值赋给P0 开启锁存器…...

开源嵌入式实时操作系统NuttX介绍

一、NuttX RTOS的发展历程:从个人项目到Apache顶级开源项目 NuttX 是一款轻量级、可扩展的实时操作系统(RTOS),其发展历程堪称开源社区的经典案例。 起源与初创(2003-2007) NuttX 由 Gregory Nutt 于2003…...

阿里云服务器部署项目笔记 实操 centos7.9

阿里云服务器部署项目笔记 实操 centos7.9 springboot vue elementUImysqlredis 相关的redis,mysql,nginx镜像,jdk 通过网盘分享的文件:docker镜像 链接: https://pan.baidu.com/s/15VwcWBP4Jy07xADuvylgQw?pwdm2g9 提取码: m2g9 配置环境 连接云服务器 安装…...

Java-实现PDF合同模板填写内容并导出PDF文件

可用于公司用户合同导出pdf文件 效果图 一、导入所需要jar包 <!--生成PDF--><dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.11</version></dependency><dependency&…...

Docker安装Grafana数据可视化平台

介绍 Grafana是一个开源的监控和数据可视化平台&#xff0c;主要用于展示和分析时间序列数据。提供功能强大且灵活的数据可视化和监控工具&#xff0c;适用于多种场景&#xff0c;它广泛应用于DevOps、IT运维、物联网&#xff08;IoT&#xff09;和业务分析等领域。 Grafana的主…...

MyBatis-Plus 自动填充功能

MyBatis-Plus&#xff08;MP&#xff09; 提供了一个非常强大的功能——自动填充功能。该功能可以在执行插入或更新操作时&#xff0c;自动为某些字段赋值&#xff0c;免去手动设置这些字段的麻烦。常见的应用场景包括 创建时间 和 更新时间 字段的自动填充&#xff0c;帮助开发…...

解决redis lettuce连接池经常出现连接拒绝(Connection refused)问题

一.软件环境 windows10、11系统、springboot2.x、redis 6 7 linux&#xff08;centos&#xff09;系统没有出现这问题&#xff0c;如果你是linux系统碰到的&#xff0c;本文也有一定大参考价值。 根本思路就是&#xff1a;tcp/ip连接的保活(keepalive)。 二.问题描述 在spr…...

武汉大学生命科学学院与谱度众合(武汉)生命科技有限公司举行校企联培座谈会

2025年2月21日下午&#xff0c;武汉大学生命科学学院与谱度众合&#xff08;武汉&#xff09;生命科技有限公司&#xff08;以下简称“谱度众合”&#xff09;在学院学术厅举行校企联培专业学位研究生合作交流会。武汉大学生命科学学院副院长刘星教授、生命科学学院周宇教授、产…...

4.网络技术与应用

一、计算机网络基础 1. 网络基本原理 通信模型&#xff1a; OSI七层模型&#xff1a; 物理层&#xff08;传输比特流&#xff0c;如网线、光纤&#xff09;数据链路层&#xff08;MAC地址&#xff0c;交换机&#xff09;网络层&#xff08;IP地址&#xff0c;路由器&#xff0…...

Kafka 主题 retention.ms 配置修改及深度问题排查指南

文章目录 Kafka 主题 retention.ms 配置修改及深度问题排查指南版本背景查看 Kafka 主题当前状态修改 retention.ms 配置的正确方式为什么不能使用 kafka-topics.sh&#xff1f;使用 kafka-configs.sh 动态更新配置 深入解析 retention 配置retention.ms 与 retention.bytes 的…...

React实现无缝滚动轮播图

实现效果&#xff1a; 由于是演示代码&#xff0c;我是直接写在了App.tsx里面在 文件位置如下&#xff1a; App.tsx代码如下&#xff1a; import { useState, useEffect, useCallback, useRef } from "react"; import { ImageContainer } from "./view/ImageC…...

deepseek+mermaid【自动生成流程图】

成果&#xff1a; 第一步打开deepseek官网(或百度版&#xff08;更快一点&#xff09;)&#xff1a; 百度AI搜索 - 办公学习一站解决 第二步&#xff0c;生成对应的Mermaid流程图&#xff1a; 丢给deepseek代码&#xff0c;或题目要求 生成mermaid代码 第三步将代码复制到me…...

分布式锁的简单实现

1. 什么是分布式锁&#xff1f; 在分布式系统中&#xff0c;也会涉及到多个节点访问同一个公共资源的情况&#xff0c;和 Java 中多线程的锁不一样&#xff0c;由于分布式系统中涉及到多个进程多个主机&#xff0c;所以说 Java 中 synchronized 就不合适了。 2. 分布式锁的简…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎&#xff08;Physics Engine&#xff09; 物理引擎 是一种通过计算机模拟物理规律&#xff08;如力学、碰撞、重力、流体动力学等&#xff09;的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互&#xff0c;广泛应用于 游戏开发、动画制作、虚…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...