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

重庆网站建设的公司哪家好咸阳企业做网站

重庆网站建设的公司哪家好,咸阳企业做网站,只做鱼网站,wordpress手机中文版PiaRef是5704PIA_C_PDK附带的源码演示程序。 程序结构主要围绕MIDI处理、音序器(Sequencer)、硬件抽象层(HAL)及用户界面(UI)交互展开,核心模块包括音序器事件处理、硬件回调、MIDI引擎配置和数…

PiaRef是5704PIA_C_PDK附带的源码演示程序。
程序结构主要围绕MIDI处理、音序器(Sequencer)、硬件抽象层(HAL)及用户界面(UI)交互展开,核心模块包括音序器事件处理、硬件回调、MIDI引擎配置和数据存储。通过TRAE 对源程序进行扫描,给出以下关键模块的调用关系分析。


一、核心模块结构

1. 音序器基础模块(PiaUtil/UTIL_SeqBaseEvent.c
  • 功能:处理音序器的节拍事件(SeqBaseTick)、通用事件(SeqBaseEvent)及MIDI播放控制(MidiPlayer_Play)。
  • 关键依赖
    • libSEQ.h:提供SMF(标准MIDI文件)播放器接口(如_SMF_PlayStart_SMF_PlayTickParam)。
    • PiaUtilCore.h:定义硬件消息类型(如HWM_MIDI)和UI回调(UI_Callback)。
  • 全局状态:通过pSmf(SMF播放器指针)、SBE_CurBar(当前小节)等变量维护播放状态。
2. 硬件抽象层(PiaRef/HW_5704PIA-DK.c
  • 功能:实现硬件回调函数HW_Callback,处理MIDI输入/输出、数据存储(DataFlash)、音效控制(混响、合唱)等硬件相关操作。
  • 关键依赖
    • GM2Synth:MIDI合成器库(如_GM2Synth_HandleMidiEvent处理MIDI事件)。
    • USB:USB MIDI处理(如_USBMC_SendMidiEvent发送USB MIDI消息)。
    • ScanFx:音效扫描库(如_ScanFx_RevLevel调整混响等级)。
3. MIDI引擎配置(PiaUtil/MD_Engine.c
  • 功能:管理MIDI区域(ZONE)的配置,支持序列化(Engine_Serialize)以存储到数据闪存。
  • 关键依赖
    • SER_PackConfig:序列化库,用于将配置数据打包为二进制格式。
    • ZONE结构体(MD_Engine.h):定义区域参数(键范围、音色、音量等)。
4. UI交互(PiaRef/UI_PreDescPia.c
  • 功能:提供UI回调接口(PresetUiCall),将参数更新(如NRPN消息)传递到UI层。
  • 关键依赖UI_Callback(通用UI回调函数,用于通知UI状态变化)。

二、核心调用关系

1. MIDI播放流程
MidiPlayer_Play (UTIL_SeqBaseEvent.c)→ _SMF_PlayStart (libSEQ)       // 启动SMF播放→ _SMF_PlayPause (libSEQ)       // 暂停播放(初始状态)→ SeqBaseTick (节拍事件处理)→ _SMF_PlayTickParam (libSEQ) // 驱动SMF时钟→ UI_Callback(UIM_BEAT_BAR)   // 更新UI小节/节拍显示
2. MIDI事件处理流程
硬件接收MIDI数据(如USB或串口)→ HW_Callback(HWM_MIDI) (HW_5704PIA-DK.c)→ _GM2Synth_HandleMidiEvent (GM2Synth库) // 合成器处理事件(发声/参数调整)
3. MIDI消息发送流程
应用层触发发送(如UI操作)→ HW_Callback(HWM_SEND_MIDI) (HW_5704PIA-DK.c)→ _MIDI_SendEvent (串口MIDI发送) 或 _USBMC_SendMidiEvent (USB MIDI发送)
4. 配置存储流程
Engine_Serialize (MD_Engine.c)→ SER_PackConfig (序列化库)       // 打包配置数据→ HW_Callback(HWM_DF_WRITE_PAGE) (HW_5704PIA-DK.c)→ _Sys_DfWriteBlock (DataFlash写入) // 持久化存储
5. UI状态同步
音序器状态变化(如小节更新)→ UI_Callback(UIM_BEAT_BAR) (UTIL_SeqBaseEvent.c)→ UI层处理(如更新LCD显示)

三、关键模块依赖图

libSEQ (SMF播放)↑
UTIL_SeqBaseEvent.c (音序器)↓
UI_Callback (UI交互)↓
HW_5704PIA-DK.c (硬件抽象)↓
GM2Synth (合成器) / USB (USB MIDI) / DataFlash (存储)

总结

程序以音序器(UTIL_SeqBaseEvent)为核心,通过硬件抽象层(HW_5704PIA-DK)与MIDI合成器、USB/串口通信、数据存储等硬件模块交互,最终通过UI回调(UI_Callback)实现状态同步。各模块分工明确,依赖关系清晰,支持MIDI文件播放、实时事件处理、配置存储等核心功能。

http://www.dtcms.com/a/449024.html

相关文章:

  • asp网站建设下载淘客网站推广免备案
  • 博物馆网站建设方案飞鸽网站建设
  • 社团网站建设免费发帖推广的平台
  • 网站开发的关键技术视频网站公共关系怎么做
  • 百度云做网站有优势吗长宁区网站建设设计
  • 三亚建设网站行业网站建设申请报告
  • 做网站需要哪几个板块第1 ppt模板网
  • 做网站排名步骤电子商务网站开发策划案
  • 如何打破违法网站建设企业银行u盾如何使用
  • 太原网站制作优化seo重庆渝中区企业网站建设哪家专业
  • 国外移动端网站模板做自己的网站要钱么
  • 上海做高端网站制作服务公司商标
  • 北京电力建设公司培训学校网站旅业认证二维码有什么用
  • 网站的图片怎么做无锡网站建设价格
  • 代账公司注册条件宜昌做网站优化
  • 合肥网站建设公司还有不江苏建设人才网站
  • 企业邮箱注册申请步骤seo图片
  • 安徽省建设工程信息网站进不了刷网站关键词排名原理
  • 河北 建设厅网站首页手机网页视频怎么下载
  • 涡阳哪里有做网站的查看网站开发语言方法
  • 个人网站欣赏的网站什么是网站建设规划书
  • 校园网站建设的要素wordpress获取自定义字段的值
  • 影视网站代理备案 网站首页网址
  • 网站建设中古典武侠中文字幕电子商务网站建设实训报告主要内容
  • 网站开发要学哪些知识湖南旅游网站开发
  • 微信小网站怎么做上海广告牌制作公司
  • 网站建设主要内容成都有什么好玩的地方景点
  • 连接国外网站做端口映射如何做整人网站
  • 西宁做网站公司建设论坛网站步骤
  • 婚庆公司一般收费标准邢台抖音优化