2024年3月13日发(作者:)

* FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE

* CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.

*

*

© COPYRIGHT 2011 STMicroelectronics

******************************************************************************

*/

/* Includes ------------------------------------------------------------------*/

#include

#include

#include "stm8s.h"

#include "stm8s_exti.h"

#include "stm8s_it.h"

#include "stm8s_gpio.h"

#include "stm8s_tim2.h"

#include "stm8s_tim4.h"

#include "stm8s_uart1.h"

/* Private defines -----------------------------------------------------------*/

/* Private function prototypes -----------------------------------------------*/

/* Private functions ---------------------------------------------------------*/

#define LED_GPIO_PORT (GPIOB)

#define LED_GPIO_PINS (GPIO_PIN_5)

#define PULS_LEVEL_HIGH (1)

#define PULS_LEVEL_LOW (0)

#define DEBUG (1)

#define USER_CODE_NUMBER_MAX (10)

#define USER_CODE_INFO_MAGIC (0x12345678)

#define LED_ON GPIO_WriteLow(GPIOB, GPIO_PIN_5)

#define LED_OFF GPIO_WriteHigh(GPIOB, GPIO_PIN_5)

#define LED_REVERSE GPIO_WriteReverse(GPIOB, GPIO_PIN_5)

u32 code_addr;

u32 code = 0;

u32 puls_high = 0;

u32 puls_low = 0;

u8 current_puls_level=PULS_LEVEL_LOW;

u8 check_flag = 0;

u8 found_flag = 0;

s32 value = 0;

u32 last_code = 0;

u32 last_valid_code = 0;

u32 puls_width_compare = 0;

u8 bit_count = 0;

u8 learn_flag = 0;

u32 learn_led_count = 0;

u32 timeout_count = 0;

u32 time_count = 0;

u32 puls_high_time = 0;

u32 puls_low_time = 0;

u32 button_down_count = 0;

struct user_code_info

{

u32 magic;

u8 number;