|
@@ -17,8 +17,8 @@
|
|
#define HEARTBEAT_SAMPLE_CLOCK 50 // 50Hz
|
|
#define HEARTBEAT_SAMPLE_CLOCK 50 // 50Hz
|
|
|
|
|
|
uint16_t adc_buffer[ADC_BUF_LEN]; // ADC用リングバッファ
|
|
uint16_t adc_buffer[ADC_BUF_LEN]; // ADC用リングバッファ
|
|
-uint16_t read_pointer = 0; // バッファ用ポインタ
|
|
|
|
-uint16_t write_pointer = 0;
|
|
|
|
|
|
+volatile uint16_t read_pointer = 0; // バッファ用ポインタ
|
|
|
|
+volatile uint16_t write_pointer = 0;
|
|
|
|
|
|
// ADC割り込み
|
|
// ADC割り込み
|
|
void adc_handler(void)
|
|
void adc_handler(void)
|
|
@@ -46,6 +46,8 @@ int main(void)
|
|
{
|
|
{
|
|
uint32_t adc_clk;
|
|
uint32_t adc_clk;
|
|
|
|
|
|
|
|
+ stdio_init_all();
|
|
|
|
+
|
|
// Display初期化
|
|
// Display初期化
|
|
multicore_reset_core1();
|
|
multicore_reset_core1();
|
|
multicore_launch_core1(display);
|
|
multicore_launch_core1(display);
|
|
@@ -87,7 +89,7 @@ int main(void)
|
|
if( val > LOWEST_VALUE ) { // ADCの値から約1Vを切り捨てる
|
|
if( val > LOWEST_VALUE ) { // ADCの値から約1Vを切り捨てる
|
|
val -= LOWEST_VALUE;
|
|
val -= LOWEST_VALUE;
|
|
}
|
|
}
|
|
- else val = 0;
|
|
|
|
|
|
+ else val = 1;
|
|
// ドット位置の計算
|
|
// ドット位置の計算
|
|
pos_y = (val * OLED_HEIGHT) / (4096 - LOWEST_VALUE) ;
|
|
pos_y = (val * OLED_HEIGHT) / (4096 - LOWEST_VALUE) ;
|
|
offset = (pos_y / 8) * OLED_WIDTH;
|
|
offset = (pos_y / 8) * OLED_WIDTH;
|