検索条件
タグで絞り込み
電子工作::Altium Designer(1)
電子工作::Arduino(11)
電子工作::FlashAir(1)
電子工作::LIP(2)
電子工作::MBEライブラリ(1)
電子工作::OLED(96x64)(3)
電子工作::RaspberryPi(2)
電子工作::TM080VG-22L01(5)
電子工作::WioLTE(1)
電子工作::ジャンクLCD(5)
電子工作::雑記(22)
| ボード | 搭載LDO | 最大電流 |
|---|---|---|
| Arduino UNO R3 | LP2985-33DBVR | 150mA |
| Arduino Uno R4 Minima | マイコン内蔵LDO | 100mA |
| Arduino Nano Every | AP2112K-3.3 | 600mA |
TCA0.SINGLE.INTCTRL = 0b0 TCA0.SINGLE.CTRLA = 0b1011 TCA0.SINGLE.CTRLB = 0b11 TCA0.SINGLE.CTRLC = 0b0 TCA0.SINGLE.CTRLD = 0b0 TCA0.SINGLE.CTRLECLR = 0b0 TCA0.SINGLE.CTRLESET = 0b0 TCA0.SINGLE.CTRLFCLR = 0b0 TCA0.SINGLE.CTRLFSET = 0b0 TCA0.SINGLE.EVCTRL = 0b0 TCA0.SINGLE.INTCTRL = 0b0 TCA0.SINGLE.PER = 255 TCA0.SINGLE.CMP0 = 128 TCA0.SINGLE.CMP1 = 128 TCA0.SINGLE.CMP2 = 128TCA0.SINGLE.CTRLCなのですが、起動時は0b0だがtone()実行中は0b111になっています。
nRF5_SDK_17.1.0_ddde560\components\serializationというのがあって、どうやらMCU側はこのライブラリを使って「よろしく動かしましょう。通信プロトコルやパケットフォーマットは気にしなくてよいです。」ということが言いたそうな空気を感じました。
*** sd_ble_version_get --> 03 00 00 65 00 <-- 06 00 01 65 10 00 00 00
\nRF5_SDK_17.1.0_ddde560\components\serialization\common\ser_dbg_sd_str.cの中にありました。どうやらこれが一覧っぽいです。
S132 v17.1.0
static const char * sd_functions[] = {
/* 0x60 offset */
"SD_BLE_ENABLE", /*0x60*/
"SD_BLE_EVT_GET", /*0x61*/
"SD_BLE_UUID_VS_ADD", /*0x62*/
"SD_BLE_UUID_DECODE", /*0x63*/
"SD_BLE_UUID_ENCODE", /*0x64*/
"SD_BLE_VERSION_GET", /*0x65*/
"SD_BLE_USER_MEM_REPLY", /*0x66*/
"SD_BLE_OPT_SET", /*0x67*/
"SD_BLE_OPT_GET", /*0x68*/
"SD_BLE_CFG_SET", /*0x69*/
"SD_BLE_UUID_VS_REMOVE", /*0x6A*/
"SD_UNKNOWN", /*0x6B*/
...
抜粋。
"C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-size" -A "R:\\/test.ino.elf" 最大32256バイトのフラッシュメモリのうち、スケッチが20776バイト(64%)を使っています。 最大2048バイトのRAMのうち、グローバル変数が896バイト(43%)を使っていて、ローカル変数で1152バイト使うことができます。そこで、VSCodeのtask.jsonを書いて同等の情報出力をファイルに出すようにした。手順は以下の通り。
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "メモリ状況",
"type": "shell",
"presentation": {"echo": true},
"command": "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr\\bin\\avr-size.exe",
"args": [">", "memory.txt", "-C", "--mcu=atmega328p", "R:\\test.ino.elf"]
}
]
}
なお、ドライブレターやパス、ターゲットelfファイル名などすべてハードコーディングしているので適宜変更が必要。まずは動くことを重視した。task.jsonを保存したらメニューからターミナル->タスクの実行を選択すると「メモリ状況」という項目が増えているのでそれを選択して「タスクの出力をスキャンせずに続行」で実行する。