欢迎使用杰理科技32位AD系列语音IC
开源社区仓库链接:
https://gitee.com/Jieli-Tech/AD24N
https://github.com/Jieli-Tech/AD24N
开源社区交流群:
![]()
开源社区钉钉群二维码
作者:刘杰、马万程、刘昊坤
FAQ 常见问题快速索引:
IDE 软硬件开发环境介绍:
系统:
- 1. 时钟驱动
- 2. 异常
- 3. tick_timer
- 4. 系统flash写保护(flash_write_protect_v3)
- 5. 系统flash_DTR功能
- 6. 中断系统
- 6.1. 中断的注册与注销
- 6.2. 软中断说明
- 6.3. 软件不可屏蔽中断
- 6.3.1. 函数void _OS_ENTER_CRITICAL(u32 bit_list)
- 6.3.2. 函数void _OS_ENTER_CRITICAL(u32 bit_list_l, u32 bit_list_h)
- 6.3.3. 函数void _OS_EXIT_CRITICAL(void)
- 6.3.4. 函数void vm_isr_response_index_register(u8 index)
- 6.3.5. 函数void vm_isr_response_index_unregister(u8 index)
- 6.3.6. 函数u32 get_vm_isr_response_index_l(void)
- 6.3.7. 函数u32 get_vm_isr_response_index_h(void)
- 6.4. 硬件不可屏蔽中断
设备、文件、编解码:
- 1. 设备管理
- 1.1. 设备注册表
- 1.2. 设备函数
- 1.2.1. 函数int devices_init()
- 1.2.2. 函数bool dev_online(const char* name)
- 1.2.3. 函数void* dev_open(const char* name, void* arg)
- 1.2.4. 函数int dev_bulk_read(void* _device, void* buf, u32 offset, u32 len)
- 1.2.5. 函数int dev_bulk_write(void* _device, void* buf, u32 offset, u32 len)
- 1.2.6. 函数int dev_byte_read(void* _device, void* buf, u32 offset, u32 len)
- 1.2.7. 函数int dev_byte_write(void* _device, void* buf, u32 offset, u32 len)
- 1.2.8. 函数int dev_ioctl(void* device, int cmd, u32 arg)
- 1.2.9. 函数int dev_close(void* device)
- 2. 文件系统管理
- 2.1. 文件系统介绍
- 2.2. 文件系统使用一般流程
- 2.3. 通用文件系统管理函数
- 2.3.1. 函数void vfs_init(void)
- 2.3.2. 函数u32 vfs_mount(void **ppvfs, void *device, void *type)
- 2.3.3. 函数u32 vfs_openbypath(void *pvfs, void **ppvfile, const char *path)
- 2.3.4. 函数u32 vfs_openbyindex(void *pvfs, void **ppvfile, u32 index)
- 2.3.5. 函数u32 vfs_createfile(void *pvfs, void **ppvfile, u32 *pindex)
- 2.3.6. 函数u32 vfs_read(void *pvfile, void *buf, u32 len)
- 2.3.7. 函数u32 vfs_write(void *pvfile, void *buf, u32 len)
- 2.3.8. 函数u32 vfs_seek(void *pvfile, u32 offset, u32 mode)
- 2.3.9. 函数u32 vfs_file_close(void **ppvfile)
- 2.3.10. 函数u32 vfs_fs_close(void **ppvfs)
- 2.3.11. 函数u32 vfs_file_name(void *pvfile, void *name, u32 len)
- 2.3.12. 函数int vfs_get_attrs(void *pvfile, void *pvfs_attr)
- 2.3.13. 函数int vfs_ioctl(void *pvfile, int cmd, int arg)
- 3. sydfs文件系统
- 4. norfs文件系统
- 5. fat文件系统
- 5.1. FAT文件系统管理函数
- 5.1.1. 函数int fs_ftell(void *pvfile, void *parm)
- 5.1.2. 函数int vfs_get_fsize(void *pvfile, void *parm)
- 5.1.3. 函数struct vfscan *vfs_fscan_new(void *pvfs, const char *path, const char *arg, u8 max_deepth, int (*callback)(void), strcut vfscan *fsn, struct vfscan_reset_info *info)
- 5.1.4. 函数void fs_fscan_release(void *pvfs, struct vfscan *fs)
- 5.1.5. 函数int fs_get_folderinfo(void **pvfile, struct vfscan *fs, int *start_num, int *end_num)
- 5.1.6. 函数int fs_get_encfolder_info(void *pvfs, char *folder, char *ext, u32 *last_num, u32 *total_num)
- 5.1.7. 函数u32 vfs_file_name(void *pvfile, void *name, u32 len)
- 5.1.8. 函数int fs_select(void *pvfs, void **ppvfile, struct vfscan *fs, int sel_mode, int arg)
- 5.1.9. 函数int vfs_mk_dir(void *pvfs, char *folder, u8 mode)
- 5.1.10. 函数int vfs_delete_dir(void *pvfs, char *path)
- 5.1.11. 函数int vfs_get_encfolder_info(void *pvfs, char *folder, char *ext, u32 *last_num, u32 *total_num)
- 5.1.12. 函数u32 vfs_file_delete(void *pvfile)
- 5.1.13. 函数int vfs_select(void *pvfs, void **ppvfile, struct vfscan *fs, int sel_mode, int arg)
- 5.1.14. 函数int vfs_format(void **ppvfs, const char *dev_name, const char *type, u32 clust_size, u8 create_new)
- 5.1.15. 函数int vfs_ioctl(void *pfile, int cmd, int arg)
- 5.1. FAT文件系统管理函数
- 6. freefs文件系统
- 7. 解码接口
- 8. F1X格式解码流程说明
- 9. 编码接口
- 10. JL_MIO功能
音频:
- 1. AUDIO公共
- 2. AUDIO ADC(AD24N)
- 2.1. AUDIO_ADC相关配置说明
- 2.2. audio_adc_cpu.c的audio_adc配置说明
- 2.3. AUDIO ADC结构体变量与接口介绍
- 2.3.1. 函数u32 audio_adc_init_api(u32 sr, ADC_MODE mode, u32 ch)
- 2.3.2. 函数void audio_adc_enable(u32 gain)
- 2.3.3. 函数void audio_adc_disable(void)
- 2.3.4. 函数void audio_adc_off_api(void)
- 2.3.5. 函数bool regist_audio_adc_channel(void *psound, void *kick)
- 2.3.6. 函数bool unregist_audio_adc_channel(void *psound)
- 2.3.7. 函数void fill_audio_adc_fill(u8 *buf, u32 len)
- 2.4. AD24N的AUDIO_ADC使用APA口输入模式使用说明
- 2.5. AD24N的AUDIO_ADC使用数字麦流程
- 3. AUDIO DAC
- 3.1. AUDIO DAC工作模式
- 3.2. AUDIO DAC其他配置
- 3.3. AUDIO DAC接口介绍
- 3.3.1. 函数void dac_mode_init(u16 vol, void *phy_vol_set_func)
- 3.3.2. 函数void dac_init_api(u32 sr, bool delay_flag)
- 3.3.3. 函数void dac_off_api(void)
- 3.3.4. 函数bool dac_mute(bool mute)
- 3.3.5. 函数u8 dac_vol(char set, u8 vol)
- 3.3.6. 函数bool regist_dac_channel(void *psound, void *kick)
- 3.3.7. 函数bool unregist_dac_channel(void *psound)
- 3.3.8. 函数void fill_dac_fill_phy(u8 *buf, u32 len)
- 4. Audio指标测试数据(AD24N)
- 5. 音量
音效算法:
外设:
- 1. DRIVER
- 1.1. GPIO
- 1.2. UART
- 1.3. IIC
- 1.4. SPI
- 1.5. mcpwm
- 1.6. IR_ENCODER
- 1.7. IR_DECODER
- 1.7.1. ir_decoder_init
- 1.7.2. ir_decoder_deinit
- 1.7.3. ir_decoder_get_data
- 1.7.4. ir_decoder_get_command_value
- 1.7.5. ir_decoder_get_command_value_uncheck
- 1.7.6. ir_decoder_get_address_value
- 1.7.7. ir_decoder_get_address_value_uncheck
- 1.7.8. get_new_irkey_value
- 1.7.9. ir_decoder参考demo,也可参考 ir_encoder_decoder_demo.c 文件
- 1.8. GPTIMER
- 1.8.1. gptimer_init
- 1.8.2. gptimer_deinit
- 1.8.3. gptimer_start
- 1.8.4. gptimer_pause
- 1.8.5. gptimer_resume
- 1.8.6. gptimer_set_timer_period
- 1.8.7. gptimer_get_timer_period
- 1.8.8. gptimer_set_pwm_freq
- 1.8.9. gptimer_get_pwm_freq
- 1.8.10. gptimer_set_pwm_duty
- 1.8.11. gptimer_get_pwm_duty
- 1.8.12. gptimer_pwm_flip
- 1.8.13. gptimer_pwm_enable
- 1.8.14. gptimer_pwm_disable
- 1.8.15. gptimer_set_capture_edge_type
- 1.8.16. gptimer_get_capture_edge_type
- 1.8.17. gptimer_set_irq_callback
- 1.8.18. gptimer_get_work_mode
- 1.8.19. gptimer_set_work_mode
- 1.8.20. gptimer_set_capture_filter
- 1.8.21. gptimer_get_capture_filter
- 1.8.22. gptimer_set_capture_count
- 1.8.23. gptimer_get_capture_count
- 1.8.24. gptimer_get_capture_cnt2us
- 1.8.25. gptimer_set_count
- 1.8.26. gptimer_get_count
- 1.8.27. gptimer_set_prd
- 1.8.28. gptimer_get_prd
- 1.8.29. gptimer_tick2us
- 1.8.30. gptimer_get_private_data
- 1.8.31. gptimer_set_private_data
- 1.8.32. gptimer_measure_time_init
- 1.8.33. gptimer_measure_time_start
- 1.8.34. gptimer_measure_time_end
- 1.8.35. gptimer_dump
- 1.8.36. gptimer_demo, 可参考 gptimer_demo.c 文件
- 1.9. GPADC
其他:
- 1. VM 掉电存储说明
- 2. 消息与事件
- 2.1. 1 消息与事件使用一般流程
- 2.2. 2 消息与事件函数
- 2.2.1. 2.1 void event_init(void)
- 2.2.2. 2.2 void message_init()
- 2.2.3. 2.3 u32 event2msg_api(u32 event)
- 2.2.4. 2.4 int post_event(int event)
- 2.2.5. 2.5 int post_msg(int argc, …)
- 2.2.6. 2.6 bool get_event_status(u32 event)
- 2.2.7. 2.7 函数int get_msg(int len, int *msg)
- 2.2.8. 2.8 函数void clear_all_message(void)
- 3. 按键系统key
- 4. Reserved_Area区域说明
- 5. 多录音分区(AD14N、AD24N)