CNTFRQ_EL0という読み取り専用レジスタがあり、カウンタ周期(Hz)を取得することができる。
#include <stdint.h>
#include <stdio.h>
void main(void)
{
uint64_t f;
asm volatile("mrs %0, cntfrq_el0" : "=r"(f));
printf("CNTFRQ = %lu Hz\n", f);
}
CNTFRQ_EL0という読み取り専用レジスタがあり、カウンタ周期(Hz)を取得することができる。
#include <stdint.h>
#include <stdio.h>
void main(void)
{
uint64_t f;
asm volatile("mrs %0, cntfrq_el0" : "=r"(f));
printf("CNTFRQ = %lu Hz\n", f);
}
Windowsアプリとかでアイコンを何度も変更していると、 アイコンキャッシュによって、変更したはずのアイコンが適用されないことが多々ある。
そんなときにアイコンキャッシュを削除するときは、このバッチでOK。 再起動は不要で、Explorerを停止した状態でキャッシュを削除してもう一度起動することでうまくいく。
@echo off taskkill /IM explorer.exe /F TIMEOUT /T 3 del /A /Q "%localappdata%\IconCache.db" del /A /F /Q "%localappdata%\Microsoft\Windows\Explorer\iconcache*" explorer.exe
フリーの動画編集ソフトをを見つけたので、備忘録として記録しておく。
動画編集系はフリーだとUIが簡素すぎたりして、
あまり実用的ではないものが多い印象だったので、貴重な気がする。
BluetoothのSpecificationsを見れば日程が分かるようになっている
https://www.bluetooth.com/specifications/specs/
Document nameが、Core Specification (amended) がいわゆるBluetooth Versionの規格になる
Deprecationが非推奨で、Withdrawalが廃止という意味
たとえばVersion4.2だとDeprecationが 1 Feb 2026になっているため、2026年1月に非推奨になる
ただしこれは移行期間のようなもので、非推奨になっても認証自体は取れるものだと思うが
Withdrawalになると認証もとれず、つまり製品化もできなくなるという意味合い
MermaidやPlantUMLの限界を感じていたので、Draw.ioを使いたい。
Draw.io Integrationというプラグインを使うことでVS Codeで編集できるようになる。
git上で画像を表示しつつdrawioで編集可能とするには、ベクターファイルにする必要があるが、
svgでも良いがgitクライアントのバージョンによって表示対応していない可能性もあるので、pngの方が無難。
Ctrl + Shift +Pで、Draw.io: New Draw.io Diagramを選択して、新規作成を行う。
XXXX.drawioという名前で作成する。
編集したあとは、XXXX.drawio.pngで書き出しすることで完了。
drawio.pngを直接編集できるようになるため、これ以降はXXXX.drawioは不要となる。
HAL_SuspendTick();
Enter_Shutdown_Mode();
void Enter_Shutdown_Mode(void)
{
// Enable Wakeup pin WKUP4(PA2)
HAL_PWR_DisableWakeUpPin(PWR_WAKEUP_PIN4); // first, disable
HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN4_LOW); // Wake up by PA2 low edge
HAL_PWREx_DisableInternalWakeUpLine();
// Enter shutdown
__HAL_RCC_PWR_CLK_ENABLE();
__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WUF4); // clear wake up flag
HAL_PWREx_EnterSHUTDOWNMode(); // Enter shutdown mode
}
WakeupPINのGPIOはINPUTにして、これで動いてるわ。
デバッガつなぐと機能しないのは、そういうもん?
オプションバイトの、nRST_SHDW を設定すれば、デバッガつないでも動くんじゃなかろうか。
念のための処理が多くて、実際はHAL_PWR_EnableWakeUpPin()と__HAL_PWR_CLEAR_FLAG()だけ呼んでれば多分大丈夫なはず。
さもありなん。
なお、PA2はWUF4なのだが、WUF2を有効にしてて動かないな、おかしいな~とハマってしまった。