First Publish. Works fine.
Dependents: unzen_sample_nucleo_f746 unzen_delay_sample_nucleo_f746 skeleton_unzen_nucleo_f746 ifmag_noise_canceller ... more
Nucleo F746ZG用のオーディオ・フレームワークです。フレームワーク地震の詳細は『雲仙』オーディオ・フレームワークを参照してください。
参考リンク
- skeleton_unzen_nucleo_f746 Nucleo F746ZGおよびUI基板を使う場合のスケルトンプログラム。F746を使う方はここから読み始めると良いでしょう。
Diff: unzen_hal.h
- Revision:
- 0:5ac19c994288
- Child:
- 1:9710fb328a08
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unzen_hal.h Sun Apr 10 12:37:10 2016 +0000 @@ -0,0 +1,42 @@ +#ifndef _UNZEN_HAL_H_ +#define _UNZEN_HAL_H_ + +#include "mbed.h" + +namespace unzen +{ + // Set up I2S peripheral to ready to start. + // By this HAL, the I2S have to become : + // - slave mode + // - clock must be ready + // - pins must be configured. + // - Interrupt enable. + void hal_i2s_setup(); + + // Start I2S transfer. Interrupt starts + void hal_i2s_start(); + + IRQn_Type hal_get_i2s_irq_id(); + IRQn_Type hal_get_process_irq_id(); + + // The returned value must be compatible with CMSIS NVIC_SetPriority() API. + unsigned int hal_get_lowest_priority_level(); + + // reutun the intenger value which tells how much data have to be transfered for each + // interrupt. For example, if the stereo 32bit data ( total 64 bit ) have to be sent, + // have to return 2. + // The special case is when the word needs to transmit by multiple interrupt, + // must return 0. + unsigned int hal_data_per_sample(); + + // return true when the sample parameter is ready to read. + // return false when the sample is not ready to read. + bool hal_get_i2s_rx_data( int & sample); + + // return true when the sample was completely stored to send. + // return false when the same sample is required next time. + bool hal_set_i2s_tx_data( int sample ); +} + + +#endif \ No newline at end of file