Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
sample_rate.h
00001 #ifndef __SAMPLE_RATE_H__ 00002 #define __SAMPLE_RATE_H__ 00003 00004 00005 #include "timers.h" 00006 00007 #define SAMPLE_RATE_FREQUENCY_REGISTER (3) /* Choose the MR register that will determine the frequency. */ 00008 #define SAMPLE_RATE_MAT_OUTPUT SAMPLE_RATE_FREQUENCY_REGISTER 00009 00010 /* 00011 #if SAMPLE_RATE_TIMER_NR == TIMER16_0 00012 #define SAMPLE_RATE_TIMER LPC_TIMER16_0 00013 #define SAMPLE_RATE_TIMER_IRQ (TIMER_16_0_IRQn) 00014 #if SAMPLE_RATE_MAT_OUTPUT == 0 00015 #define SAMPLE_RATE_MAT_PORT (0) 00016 #define SAMPLE_RATE_MAT_PIN (8) 00017 #define SAMPLE_RATE_IOCON IOCON_PIO0_8 00018 #define SAMPLE_RATE_IOCON_FUNC IOCON_FUNC2 00019 #elif SAMPLE_RATE_MAT_OUTPUT == 1 00020 #define SAMPLE_RATE_MAT_PORT (0) 00021 #define SAMPLE_RATE_MAT_PIN (9) 00022 #define SAMPLE_RATE_IOCON IOCON_PIO0_9 00023 #define SAMPLE_RATE_IOCON_FUNC IOCON_FUNC2 00024 #elif SAMPLE_RATE_MAT_OUTPUT == 2 00025 #define SAMPLE_RATE_MAT_PORT (0) 00026 #define SAMPLE_RATE_MAT_PIN (10) 00027 #define SAMPLE_RATE_IOCON IOCON_PIO0_10 00028 #define SAMPLE_RATE_IOCON_FUNC IOCON_FUNC3 00029 #else 00030 // Does not exist. 00031 #pragma GCC error "Match output pin MATx does not exist." 00032 #endif 00033 #elif SAMPLE_RATE_TIMER_NR == TIMER16_1 00034 #define SAMPLE_RATE_TIMER LPC_TIMER16_1 00035 #define SAMPLE_RATE_TIMER_IRQ (TIMER_16_1_IRQn) 00036 #if SAMPLE_RATE_MAT_OUTPUT == 0 00037 #define SAMPLE_RATE_MAT_PORT (1) 00038 #define SAMPLE_RATE_MAT_PIN (9) 00039 #define SAMPLE_RATE_IOCON IOCON_PIO1_9 00040 #define SAMPLE_RATE_IOCON_FUNC IOCON_FUNC1 00041 #elif SAMPLE_RATE_MAT_OUTPUT == 1 00042 #define SAMPLE_RATE_MAT_PORT (1) 00043 #define SAMPLE_RATE_MAT_PIN (10) 00044 #define SAMPLE_RATE_IOCON IOCON_PIO1_10 00045 #define SAMPLE_RATE_IOCON_FUNC IOCON_FUNC2 00046 #else 00047 // Does not exist. 00048 #pragma GCC error "Match output pin MATx does not exist." 00049 #endif 00050 #elif SAMPLE_RATE_TIMER_NR == TIMER32_0 00051 #define SAMPLE_RATE_TIMER LPC_TIMER32_0 00052 #define SAMPLE_RATE_TIMER_IRQ (TIMER_32_0_IRQn) 00053 #if SAMPLE_RATE_MAT_OUTPUT == 0 00054 #define SAMPLE_RATE_MAT_PORT (1) 00055 #define SAMPLE_RATE_MAT_PIN (6) 00056 #define SAMPLE_RATE_IOCON IOCON_PIO1_6 00057 #define SAMPLE_RATE_IOCON_FUNC IOCON_FUNC2 00058 #elif SAMPLE_RATE_MAT_OUTPUT == 1 00059 #define SAMPLE_RATE_MAT_PORT (1) 00060 #define SAMPLE_RATE_MAT_PIN (7) 00061 #define SAMPLE_RATE_IOCON IOCON_PIO1_7 00062 #define SAMPLE_RATE_IOCON_FUNC IOCON_FUNC2 00063 #elif SAMPLE_RATE_MAT_OUTPUT == 2 00064 #define SAMPLE_RATE_MAT_PORT (0) 00065 #define SAMPLE_RATE_MAT_PIN (1) 00066 #define SAMPLE_RATE_IOCON IOCON_PIO0_1 00067 #define SAMPLE_RATE_IOCON_FUNC IOCON_FUNC2 00068 #elif SAMPLE_RATE_MAT_OUTPUT == 3 00069 #define SAMPLE_RATE_MAT_PORT (0) 00070 #define SAMPLE_RATE_MAT_PIN (11) 00071 #define SAMPLE_RATE_IOCON IOCON_PIO0_11 00072 #define SAMPLE_RATE_IOCON_FUNC IOCON_FUNC3 00073 #else 00074 // Does not exist. 00075 #pragma GCC error "Match output pin MATx does not exist." 00076 #endif 00077 #elif SAMPLE_RATE_TIMER_NR == TIMER32_1 00078 #define SAMPLE_RATE_TIMER LPC_TIMER32_1 00079 #define SAMPLE_RATE_TIMER_IRQ (TIMER_32_1_IRQn) 00080 #if SAMPLE_RATE_MAT_OUTPUT == 0 00081 #define SAMPLE_RATE_MAT_PORT (1) 00082 #define SAMPLE_RATE_MAT_PIN (1) 00083 #define SAMPLE_RATE_IOCON IOCON_PIO1_1 00084 #define SAMPLE_RATE_IOCON_FUNC IOCON_FUNC3 00085 #elif SAMPLE_RATE_MAT_OUTPUT == 1 00086 #define SAMPLE_RATE_MAT_PORT (1) 00087 #define SAMPLE_RATE_MAT_PIN (2) 00088 #define SAMPLE_RATE_IOCON IOCON_PIO1_2 00089 #define SAMPLE_RATE_IOCON_FUNC IOCON_FUNC3 00090 #elif SAMPLE_RATE_MAT_OUTPUT == 2 00091 #define SAMPLE_RATE_MAT_PORT (1) 00092 #define SAMPLE_RATE_MAT_PIN (3) 00093 #define SAMPLE_RATE_IOCON IOCON_PIO1_3 00094 #define SAMPLE_RATE_IOCON_FUNC IOCON_FUNC3 00095 #elif SAMPLE_RATE_MAT_OUTPUT == 3 00096 #define SAMPLE_RATE_MAT_PORT (1) 00097 #define SAMPLE_RATE_MAT_PIN (4) 00098 #define SAMPLE_RATE_IOCON IOCON_PIO1_4 00099 #define SAMPLE_RATE_IOCON_FUNC IOCON_FUNC2 00100 #else 00101 // Does not exist. 00102 #pragma GCC error "Match output pin MATx does not exist." 00103 #endif 00104 #else 00105 // Does not exist. 00106 #pragma GCC error "Selected SAMPLE_RATE timer does not exist." 00107 #endif 00108 */ 00109 00110 void SampleRate_Init(uint32_t default_rate, uint32_t samples_per_period); 00111 00112 00113 #endif // __SAMPLE_RATE_H__
Generated on Mon Jul 18 2022 18:20:47 by
 1.7.2
 1.7.2