/**

  */
/* Includes ------------------------------------------------------------------*/
#define MAIN_C

#include "all.h"
/* Private define ------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
void APP_SystemClockConfig(void);
void APP_ConfigGPIO(void);


/**
  * @brief  系统时钟配置函数
  * @param  无
  * @retval 无
  */
void APP_SystemClockConfig(void)
{
  /* 使能HSI */
  LL_RCC_HSI_Enable();
  while(LL_RCC_HSI_IsReady() != 1)
  {
  }

  /* 设置 AHB 分频*/
  LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1);

  /* 配置HSISYS作为系统时钟源 */
  LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_HSISYS);
  while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_HSISYS)
  {
  }

  /* 设置 APB1 分频*/
  LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1);
  LL_Init1msTick(8000000);

  /* 更新系统时钟全局变量SystemCoreClock(也可以通过调用SystemCoreClockUpdate函数更新) */
  LL_SetSystemCoreClock(8000000);
}



void systick_init(void) 
{
  SysTick_Config(SystemCoreClock/100);  // 定时器设置为10ms
  NVIC_SetPriority(SysTick_IRQn,0x0);//设置最高优先级
  SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk;//使能systick定时器
}




void SET_PIN_PULL_for_LowPower(GPIO_TypeDef *GPIOx, uint32_t Pin )
{u8 i=GET_PIN_LEVEL_AND_FLOAT(GPIOx,Pin);
if(i!=pin_float)LL_GPIO_SetPinPull(GPIOx,Pin,LL_GPIO_PULL_NO);
else LL_GPIO_SetPinPull(GPIOx,Pin,LL_GPIO_PULL_UP);
}



void USER_INI(void)
{

TIME.work_ms10=0;
RF.active_10ms=0;

}
void SEC_EXE(void)
{
if(RF.active_10ms==0)
	LL_GPIO_SetOutputPin(p_led2);

if(SYS.b_tick==0)return;
SYS.b_tick=0;
if(RF.active_10ms)
	printf("RF:%02X %02X %02X\r\n",rf_dat_buf[0],rf_dat_buf[1],rf_dat_buf[2]);

}





/*
准备工作：
连接好蜂鸟发射模块，注发射电压匹配，本DEMO板可以通过R6和R7选择3.3/5V发射电压选择
如实际连接的远T3可能会不发射，因为远T3建议9V工作。
调试信息从USB的串口输出相应的数据


1，PB1为发射的DAT脚，DAT脚设为输出模式，上电为低电平
2，PA6(KEY2)设为按键上拉输入脚，
3，触发按键，发射默认编码 11 22 33,可以从开发助手观看得到的数据,利用定时器T1作为us级精确定时。
4，发射时，PB3的LED脚为闪烁指示


*/

int main(void)
{/* 配置系统时钟 */
APP_SystemClockConfig();
RCC_INI();
GPIO_INI();
APP_ConfigUsart(USART1);
SET_PF1_for_UART_or_GPIO(1);
APP_ConfigTIM1();
systick_init();
myDelay_ms(50);
LL_GPIO_SetOutputPin(p_led1);
//IWDG_Config();
printf("蜂鸟无线RF433发射测试\r\n");
while (1)
	{
	if(p_key2==0)
		TX1527(0X11,0X22,0X33);
	myDelay_ms(100);	
	//LL_GPIO_TogglePin(p_led2);//LED OFF
	//LL_GPIO_TogglePin(p_led1);//LED OFF

	}
}


/************************ (C) COPYRIGHT Puya *****END OF FILE****/
