5---SWDIO
9---SWCLK
6---RESET
12 13 --GND
14 15 --VDD
#include "bat32g137.h" #include "userdefine.h" #include "clk.h" #include "tmm.h" /***********************************
利用寄存器和定時器計數器進行比較 輸出指定極性的波形。 緩衝區相當於是一個未來計算的預備數據,比較成功後把新的值從緩衝中取出到比較寄存器。匹配可以產生低電平,也可是高電平,或者是方波。 如上圖 波形爲33.40K和
功能三:PWM 總結而言產生PWM是利用兩個寄存器AB,設置那個計數器到了清除 計數器,這個比較的寄存器就是週期,另外一個就是佔空比。本模式就只能產生一個PWM。還有一個緩衝功能,用戶開啓後可以使得波形平滑的改變到其他頻率或者佔空比
#include "bat32g137.h" #include "clk.h" #define BIT(x) (1<<x) int main(void) { // P30輸出最爲測試IO PORT->PM3 &=~BIT(0);
功能四:相位計數模式 其實就是捕獲外部信號波形,TBCLK0 TBCLK1,組合起來。定時器B對把外部信號作爲時鐘來計數,根據不同的配置實現計數遞增還是遞減。邊沿可以任意選擇。 硬件上 P05 連接到P01. 實際
137的和135的是一樣的。 #include "bat32g137.h" #include "cmp.h" int main(void) { // postive input CMP_PSIDE_VCIN12--P20 //
#include "bat32g137.h" #include "pga.h" #include "dac.h" #include "adc.h" #include "EventRecorder.h" // K
#include "bat32g137.h" #include "sci.h" #include "stdio.h" // bref: spi發送 // para: // note: static void spi_send(uint
總結而言,timerb 捕獲模式,是捕獲開始,就把計數值放到緩衝區中,其實緩衝區就是軟件上的FIFO,下一次邊沿捕獲,這個值在寄存器中。這個時候就可以利用本次計數器值減去上次計數值,從而計算出脈寬。或者脈衝週期。 TBCR 寄存器可以
#include "bat32g137.h" #include "EventRecorder.h" // Keil.ARM Compiler::Compiler:Event Recorder #include
#include "bat32g137.h" int main(void) { // 配置爲下降沿觸發 INTM->EGN0 = 0x01; INTM->EGP0 = 0x00; // 配置爲輸入模式 /* Set IN
#include "BAT32G137.h" #include "adc.h" #include "cg_tmm.h" #include "elc.h" #include "dma.h" // bref: ADC DMA掃描 //