
137
C_ROOKIES
总结技术点点滴滴。沉着冷静专注。
展开
-
DAC 反应速度
图中看出如果供电在3.3V 反应速度大概是3us 也就是333KHz左右。原创 2020-04-23 09:18:05 · 659 阅读 · 0 评论 -
BAT外部接20M晶振
/************************************************************************************************************************ Copyright (C) . All rights reserved.***************************************...原创 2020-04-11 14:42:59 · 421 阅读 · 1 评论 -
137 timerm+输出比较功能
#include "bat32g137.h"#include "userdefine.h"#include "clk.h"#include "tmm.h"/********************************************************************************************************************...原创 2020-04-11 14:37:51 · 714 阅读 · 0 评论 -
137 timerm cap
#include "bat32g137.h"#include "userdefine.h"#include "clk.h"#include "tmm.h"/********************************************************************************************************************...原创 2020-04-11 09:47:14 · 753 阅读 · 0 评论 -
137 看门狗
#include "bat32g137.h"#include "EventRecorder.h" // Keil.ARM Compiler::Compiler:Event Recorder#include "stdio.h"// 看门狗时钟源为15K的 filuint32_t i;int main(void){ SystemCoreClockUpdate(...原创 2020-04-10 18:51:35 · 642 阅读 · 2 评论 -
137 PGA
#include "bat32g137.h"#include "pga.h"#include "dac.h"#include "adc.h"#include "EventRecorder.h" // Keil.ARM Compiler::Compiler:Event Recorder#include "stdio.h"static void adc_ini...原创 2020-04-10 16:40:57 · 311 阅读 · 0 评论 -
137 SPI
#include "bat32g137.h"#include "sci.h"#include "stdio.h"// bref: spi发送// para:// note:static void spi_send(uint8_t data){ SCI0->SDR02 = data; // 等待传输结束 while(SCI0->SSR02 & _0040_...原创 2020-04-10 15:08:18 · 589 阅读 · 2 评论 -
137 CMP比较器
137的和135的是一样的。#include "bat32g137.h"#include "cmp.h"int main(void){ // postive input CMP_PSIDE_VCIN12--P20 // negtive input CMP_NSIDE_IVREF 内部电压参考源 // 默认是双边沿触发中断 CMP_Init(CMP_CHANNEL_1,CM...原创 2020-04-10 14:09:57 · 824 阅读 · 0 评论 -
137 CRC
#include "bat32g137.h"static uint8_t buf[] = {0x78,0x56,0x34,0x12};static uint16_t crc;int main(void){ CRC->CRCD = 0; // 使用硬件CRC转换到CRC-YMODEM for(char i = 0;i < sizeof(buf);i++){ uin...原创 2020-04-10 11:23:15 · 189 阅读 · 0 评论 -
137 flash存储
#include "bat32g137.h"#include "EventRecorder.h" // Keil.ARM Compiler::Compiler:Event Recorder#include "flash.h"#include "stdio.h"// 512字节一个 页面#define FLASH_TEST_START_ADDR (8...原创 2020-04-10 11:12:26 · 337 阅读 · 0 评论 -
137-BEEP (输出固定方波功能)
#include "bat32g137.h"#include "clk.h"int main(void){ CLK_Osc_Setting(OSC_PORT,OSC_OSCILLATOR); //禁止输出 PCBZ->CKS0 &= (uint8_t)~0x80; PCBZ->CKS0 = 0x08; // 2^4 = 16 48M/16 = 3M ...原创 2020-04-10 10:35:12 · 425 阅读 · 4 评论 -
137 低功耗测试
1. 所有没有用的IO 输入上拉 或者输出高电平。2.晶振口设置输出为低电平。实际测试功耗稳定在0.4ua.一定要在VCC GND接104电容。原创 2020-04-09 18:37:07 · 432 阅读 · 1 评论 -
137 外部中断。
#include "bat32g137.h"int main(void){ // 配置为下降沿触发 INTM->EGN0 = 0x01; INTM->EGP0 = 0x00; // 配置为输入模式 /* Set INTP0 pin */ PORT->PM13 |= 0x40U; // 内部给P136上拉 PORT->PU13 |= (1<&...原创 2020-04-08 17:20:11 · 827 阅读 · 6 评论 -
137 ADC+DMA
#include "BAT32G137.h" #include "adc.h"#include "cg_tmm.h"#include "elc.h"#include "dma.h"// bref: ADC DMA扫描// para:// note:static void adc_init(void){ // 开启ADC外设 CGC->PER0 |= CGC...原创 2020-04-08 16:23:01 · 785 阅读 · 3 评论 -
137 RTC+15位间隔定时器
1.RTC 基本功能2.RTC 具备各种定时中断功能,比如秒中断,分中断,时中断等。3.RTC 具备闹钟中断,设置好闹钟过后,测试可以触发中断,详细配置下面有。#include "BAT32G137.h"#include "clk.h"#include "rtc.h"// bref: rtc 外设初始化// para:// note:static void rtc_in...原创 2020-04-08 16:00:26 · 672 阅读 · 0 评论 -
137 timerb 相位计数器
功能四:相位计数模式其实就是捕获外部信号波形,TBCLK0 TBCLK1,组合起来。定时器B对把外部信号作为时钟来计数,根据不同的配置实现计数递增还是递减。边沿可以任意选择。硬件上 P05 连接到P01.实际计算波形 P05大概是728ns。728ns * 65535 = 47.7ms。如图基本上是48ms.本功能可以...原创 2020-04-07 16:59:47 · 517 阅读 · 0 评论 -
137 timerb pwm功能
功能三:PWM总结而言产生PWM是利用两个寄存器AB,设置那个计数器到了清除 计数器,这个比较的寄存器就是周期,另外一个就是占空比。本模式就只能产生一个PWM。还有一个缓冲功能,用户开启后可以使得波形平滑的改变到其他频率或者占空比的波形。在其他单片机上有类似配置。(总结一点,要注意两个寄存器只有对应一个硬件定时器,所以那个设置为比较清除定时器计数就是周期数。)波形为10K...原创 2020-04-07 16:29:53 · 324 阅读 · 1 评论 -
137-timerb-输出比较功能
利用寄存器和定时器计数器进行比较 输出指定极性的波形。缓冲区相当于是一个未来计算的预备数据,比较成功后把新的值从缓冲中取出到比较寄存器。匹配可以产生低电平,也可是高电平,或者是方波。如上图 波形为33.40K和25K。程序中的缓冲区每次更新变化为480*1.5 = 720。计算频率48000000/720 = 66666.6Hz。这是翻转频率,...原创 2020-04-07 16:22:15 · 278 阅读 · 0 评论 -
137 timerb-捕获功能
总结而言,timerb 捕获模式,是捕获开始,就把计数值放到缓冲区中,其实缓冲区就是软件上的FIFO,下一次边沿捕获,这个值在寄存器中。这个时候就可以利用本次计数器值减去上次计数值,从而计算出脉宽。或者脉冲周期。TBCR 寄存器可以修改计数时钟分频系数,或者是选用外部时钟。P30连接到P50 或者P51,可以观察到捕获值,很稳定。1811 计算脉冲周期 MCU主频48M,简...原创 2020-04-07 16:00:05 · 310 阅读 · 0 评论 -
137 下载口(64 pin)
5---SWDIO9---SWCLK6---RESET12 13 --GND14 15 --VDD原创 2020-04-07 15:25:29 · 835 阅读 · 0 评论