|
发表于 2013-11-25 21:28:17
|
显示全部楼层
本帖最后由 worldsing 于 2013-11-25 21:34 编辑
定时器操作在stm32平台下基本不用改
a、定时器初始化; xMBPortTimersInit()
b、开定时器及中断; vMBPortTimersEnable()
c、关定时器及中断; vMBPortTimersDisable()
d、定时器溢出中断服务程序;TIME_IQR_HANDLER()
串口操作:
a、串初始化; xMBPortSerialInit()
b、串口发送中断、接收中断; UART_IQR_HANDLER()
c、串口收发控制; vMBPortSerialEnable()
开关量操作 CPU硬件寄存器类型指针定义,用于定义IO输入和输出,
注意在此定义的IO必须初始化为输入或输出。
typedef volatile uint32_t * CPURegistertype;
//线圈状态, 存储格式:&IO输出口寄存器, 引脚号
MBCoilType MBCoils[REG_COILS_SIZE] = {
&(GPIOB->ODR), 12, //PB12做为输出线圈
&(GPIOB->ODR), 12,
&(GPIOB->ODR), 12,
&(GPIOB->ODR), 12,
&(GPIOB->ODR), 12,
&(GPIOB->ODR), 12,
&(GPIOB->ODR), 12,
&(GPIOB->ODR), 12,
};
//离散开关输入状态, 存储格式:&IO输出口寄存器, 引脚号
MBDiscreteType MBDiscretes[REG_DISCRETE_SIZE] = {
&(GPIOB->ODR), 12, //PB12做为离散输入
&(GPIOB->ODR), 12,
&(GPIOB->ODR), 12,
&(GPIOB->ODR), 12,
&(GPIOB->ODR), 12,
&(GPIOB->ODR), 12,
&(GPIOB->ODR), 12,
&(GPIOB->ODR), 12,
};
欢迎大家交流
|
|