-
maychang 发表于 2024-10-31 11:38
【UC3842震荡频率如何计算呢?】
查UC3842说明书,根据说明书中曲线计算。
谢谢
-
X噫吁戏X 发表于 2024-10-31 13:28
https://wenku.baidu.com/view/109f1840a75177232f60ddccda38376baf1fe08c.html?_wkts_=1730352319345& ...
谢谢
-
请问3843振荡频率如何计算呢
-
UC3842震荡频率如何计算呢?
-
请问UC3843的开关频率是如何计算的呢
-
个人信息确认无误,使用E币支付邮费
-
申请板卡22:RENESAS EZ-CUBE(该工具已停止销售和更新)
E币兑换。
申请理由:以前读书的时候,参加瑞萨的活动获得过一些板卡,只可惜CUBE工具以及停止售卖了,刚好EEWORLD论坛提供了这样一个获取CUBE调试下载器的机会,希望能够申请到RENESAS EZ-CUBE工具与之前的瑞萨开发板相配套,以便进行使用和测评。
-
申请板卡44号:DFRobot AS7341可见光谱传感器测评试用(DFROBOT sew0364)。
使用E币。
申请理由:以前只接触过环境光传感器,但是AS7341作为一个可见光谱传感器,包含8个可见光通道,具有很高的DIY设计潜能,例如用在阳台盆栽的环境信息监测,正好也有这个想法。
测评计划:
1、搭建MCU的集成开发环境
2、选择PIC单片机采集AS7341传感器输出的信息。
3、PIC单片机将采集的环境信息显示在屏幕上
4、对测评结果进行总结。
-
说到8位单片机不得不提ST自己的STM8系列单片机,这个系列单片机的低功耗性能比MSP430单片机要优秀一点点,之前想用来做物联网终端感知节点的,只不过资源稍微紧张了一点。
-
AVR单片机Microchip收购后,MPLAB X IDE也支持这一款单片机了,外设资源还是挺丰富的,使用起来也挺顺手的,当然价格也不便宜。
-
PIC的8位单片机应该算非常经典了吧,它的佛结构内核以前上手难一点,不过Microchip推出的MPLAB软件已经客服了这一点,初始化配置变成了可视化配置了。这个系列的单片机最大的特点就是稳定。
-
报名应该简单一点的
-
梦溪开物 发表于 2022-8-1 20:26
/** \file main.c
**
** \brief This sample demonstrates how to set GPIO as output function.
...
为了方便大家找问题,我把代码以帖子的形式展示出来了
-
官方外部中断代码
-
我用华大官方的例程,是可以实现PC3口的外部中断的
-
本帖最后由 梦溪开物 于 2022-8-2 09:33 编辑
/** \file main.c
**
** \brief This sample demonstrates how to set GPIO as output function.
**
** - 2018-10-14 1.0 zhangxl first version for Device Driver Library of GPIO.
**
******************************************************************************/
/*******************************************************************************
* Include files
******************************************************************************/
#include "hc32_ddl.h"
#include "led.h"
#include "relay.h"
#include "usart.h"
#define IO1_PORT (PortC)
#define IO1_PIN (Pin02)
#define IO1_ExtiCh (ExtiCh02)
#define IO1_EIR (INT_PORT_EIRQ2)
#define IO2_PORT (PortC)
#define IO2_PIN (Pin03)
#define IO2_ExtiCh (ExtiCh03)
#define IO2_EIR (INT_PORT_EIRQ3)
static uint32_t u32ExtInt03Count = 0ul;
static void ClkInit(void);
void IO1_Callback(void);
void IO1_Init(void);
void IO2_Callback(void);
void IO2_Init(void);
void IO_Init(void);
/**
*******************************************************************************
** \brief ExtInt03 callback function
**
** \param None
**
** \retval None
**
******************************************************************************/
void IO1_Callback(void)
{
if (Set == EXINT_IrqFlgGet(IO1_ExtiCh))
{
//u32ExtInt03Count++;
RLED1_TOGGLE();
Ddl_Delay1ms(3000);
#ifdef __PRINT_TO_TERMINAL
printf("External interrupt 03(SW2) interrupt occurrence: %d\n", u32ExtInt03Count);
#endif
/* clear int request flag */
EXINT_IrqFlgClr(IO1_ExtiCh);
}
}
void IO2_Callback(void)
{
if (Set == EXINT_IrqFlgGet(IO2_ExtiCh))
{
//u32ExtInt03Count++;
GLED3_TOGGLE();
Ddl_Delay1ms(3000);
#ifdef __PRINT_TO_TERMINAL
printf("External interrupt 03(SW2) interrupt occurrence: %d\n", u32ExtInt03Count);
#endif
/* clear int request flag */
EXINT_IrqFlgClr(IO2_ExtiCh);
}
}
/**
*******************************************************************************
** \brief SW2 init function
**
** \param None
**
** \retval None
**
******************************************************************************/
void IO1_Init(void)
{
/*�ⲿ�ж����yṹ��*/
stc_exint_config_t stcExtiConfig;
/*irq���yṹ��*/
stc_irq_regi_conf_t stcIrqRegiConf;
/*GPIO�ܽ����yṹ��*/
stc_port_init_t stcPortInit;
/* configuration structure initialization */
MEM_ZERO_STRUCT(stcExtiConfig);
MEM_ZERO_STRUCT(stcIrqRegiConf);
MEM_ZERO_STRUCT(stcPortInit);
/*****�ܽų�ʼ��*****/
/*�ⲿ�ж�ʹ��*/
stcPortInit.enExInt = Enable;
PORT_Init(IO1_PORT, IO1_PIN, &stcPortInit);
/*�����ⲿ�жϺ�*/
stcExtiConfig.enExitCh = IO1_ExtiCh;
/*����������*/
stcExtiConfig.enFilterEn = Enable;
stcExtiConfig.enFltClk = Pclk3Div8;
/*�͵�ƽ������������ʽ��*/
stcExtiConfig.enExtiLvl = ExIntLowLevel;
EXINT_Init(&stcExtiConfig);
/*****�ⲿ�жϳ�ʼ��*****/
/*ѡ���ⲿ�жϺ�*/
stcIrqRegiConf.enIntSrc = IO1_EIR;
/* ע���жϵ�ַ to Vect.No.001 */
stcIrqRegiConf.enIRQn = Int001_IRQn;
/*���жϻص�����*/
stcIrqRegiConf.pfnCallback = &IO1_Callback;
enIrqRegistration(&stcIrqRegiConf);
/* Clear pending */
NVIC_ClearPendingIRQ(stcIrqRegiConf.enIRQn);
/*�����ж����ȼ�*/
NVIC_SetPriority(stcIrqRegiConf.enIRQn, DDL_IRQ_PRIORITY_15);
/*ʹ��NVIC*/
NVIC_EnableIRQ(stcIrqRegiConf.enIRQn);
}
void IO2_Init(void)
{
/*�ⲿ�ж����yṹ��*/
stc_exint_config_t stcExtiConfig;
/*irq���yṹ��*/
stc_irq_regi_conf_t stcIrqRegiConf;
/*GPIO�ܽ����yṹ��*/
stc_port_init_t stcPortInit;
/* configuration structure initialization */
MEM_ZERO_STRUCT(stcExtiConfig);
MEM_ZERO_STRUCT(stcIrqRegiConf);
MEM_ZERO_STRUCT(stcPortInit);
/*****GPIO�ܽų�ʼ��*****/
/*�ⲿ�ж�ʹ��*/
stcPortInit.enExInt = Enable;
PORT_Init(IO2_PORT, IO2_PIN, &stcPortInit);
/*****�ⲿ�жϳ�ʼ��*****/
/*�����ⲿ�жϺ�*/
stcExtiConfig.enExitCh = IO2_ExtiCh;
/*�����˲���ʧ��*/
stcExtiConfig.enFilterEn = Enable;
/*�����˲�������ʱ��ѡ��PCLK3/8*/
stcExtiConfig.enFltClk = Pclk3Div8;
/*�͵�ƽ������������ʽ��*/
stcExtiConfig.enExtiLvl = ExIntLowLevel;
EXINT_Init(&stcExtiConfig);
/*****�ж�ע��*****/
/*ѡ���ⲿ�жϺ�*/
stcIrqRegiConf.enIntSrc = IO2_EIR;
/* ע���ⲿ�жϵ�ַ to Vect.No.000 */
stcIrqRegiConf.enIRQn = Int000_IRQn;
/*���жϻص�����*/
stcIrqRegiConf.pfnCallback = &IO2_Callback;
enIrqRegistration(&stcIrqRegiConf);
/* Clear pending */
NVIC_ClearPendingIRQ(stcIrqRegiConf.enIRQn);
/*����NVIC���ȼ�*/
NVIC_SetPriority(stcIrqRegiConf.enIRQn, DDL_IRQ_PRIORITY_15);
/*ʹ��NVIC*/
NVIC_EnableIRQ(stcIrqRegiConf.enIRQn);
}
/**
*******************************************************************************
** \brief Main function of GPIO output
**
** \param None
**
** \retval int32_t Return value, if needed
**
******************************************************************************/
int32_t main(void)
{
// ClkInit(); //ϵͳʱ�ӳ�ʼ��
LED_Init(); //LED��ʼ��
// RELAY_Init(); //�̵�����ʼ��
// USART1_init(115200); //���ڳ�ʼ����������Ϊ115200
// IO1_Init();
IO2_Init();
while(1)
{
YLED2_TOGGLE();
Ddl_Delay1ms(100);
};
}
/**
*******************************************************************************
** \brief Initialize Clock.
**
** \param [in] None
**
** \retval None
**
******************************************************************************/
static void ClkInit(void)
{
stc_clk_xtal_cfg_t stcXtalCfg;
stc_clk_mpll_cfg_t stcMpllCfg;
en_clk_sys_source_t enSysClkSrc;
stc_clk_sysclk_cfg_t stcSysClkCfg;
MEM_ZERO_STRUCT(enSysClkSrc);
MEM_ZERO_STRUCT(stcSysClkCfg);
MEM_ZERO_STRUCT(stcXtalCfg);
MEM_ZERO_STRUCT(stcMpllCfg);
/* Set bus clk div. */
stcSysClkCfg.enHclkDiv = ClkSysclkDiv1;
stcSysClkCfg.enExclkDiv = ClkSysclkDiv2;
stcSysClkCfg.enPclk0Div = ClkSysclkDiv1;
stcSysClkCfg.enPclk1Div = ClkSysclkDiv2;
stcSysClkCfg.enPclk2Div = ClkSysclkDiv4;
stcSysClkCfg.enPclk3Div = ClkSysclkDiv4;
stcSysClkCfg.enPclk4Div = ClkSysclkDiv2;
CLK_SysClkConfig(&stcSysClkCfg);
/* Switch system clock source to MPLL. */
/* Use Xtal as MPLL source. */
stcXtalCfg.enMode = ClkXtalModeOsc;
stcXtalCfg.enDrv = ClkXtalLowDrv;
stcXtalCfg.enFastStartup = Enable;
CLK_XtalConfig(&stcXtalCfg);
CLK_XtalCmd(Enable);
/* MPLL config. */
stcMpllCfg.pllmDiv = 1u; /* XTAL 8M / 1 */
stcMpllCfg.plln = 50u; /* 8M*50 = 400M */
stcMpllCfg.PllpDiv = 4u; /* MLLP = 100M */
stcMpllCfg.PllqDiv = 4u; /* MLLQ = 100M */
stcMpllCfg.PllrDiv = 4u; /* MLLR = 100M */
CLK_SetPllSource(ClkPllSrcXTAL);
CLK_MpllConfig(&stcMpllCfg);
/* flash read wait cycle setting */
EFM_Unlock();
EFM_SetLatency(EFM_LATENCY_4);
EFM_Lock();
/* Enable MPLL. */
CLK_MpllCmd(Enable);
/* Wait MPLL ready. */
while (Set != CLK_GetFlagStatus(ClkFlagMPLLRdy))
{
}
/* Switch system clock source to MPLL. */
CLK_SetSysClkSource(CLKSysSrcMPLL);
}
void IO_Init(void)
{
stc_port_init_t stcPortInit;
/* configuration structure initialization */
MEM_ZERO_STRUCT(stcPortInit);
/*����ģʽ*/
stcPortInit.enPinMode = Pin_Mode_In;
/*�ڲ���������*/
stcPortInit.enPullUp = Enable;
PORT_Init(IO2_PORT, IO2_PIN, &stcPortInit);
}
/*******************************************************************************
* EOF (not truncated)
******************************************************************************/
-
请问反激电源变压器的初级绕组的匝数如何计算呢?
-
时间的获取是通过什么方式实现的呢?
-
作者这里的时间获取是传感器采集数据的时间,还是RVB2601上传云平台的时间呢?
-
AOS软件定时器是如何实现年、月、日、时、分和秒的获取的呢?