📄 main.c
字号:
#include "systick.h"
#include "circuit.h"
#include <hw_sysctl.h>
#include <hw_gpio.h>
#include <hw_timer.h>
#include "define.h"
#include "hw_types.h"
#include "hw_memmap.h"
#include "hw_uart.h"
#include "uart.h"
#include "globaltype.h"
#include "hip4081.h"
#include "motor.h"
#include "pwm.h"
#include "pwm_init.h"
void driver_dir(unsigned char dir,unsigned char motor_number);
// 将较长的标识符定义成较短的形式
#define GPIOPinTypeIn GPIOPinTypeGPIOInput
#define GPIOPinTypeOut GPIOPinTypeGPIOOutput
extern unsigned int timerloadvalue;
unsigned long ulPeriod;
struct placed_relate_parm palced_magor[MOTOR_NUMBER]; //电机是主体,是执行者
extern unsigned char error_report; //
extern unsigned char Uart_recBuf[]; //接收数据缓存区
extern unsigned char new_data_flag;
unsigned char TxEndFlag = false; //调试时使用,发送完毕标志位
/*电机处于各种状态下,都假定返回的相邻的码时间间隔小于1s,不必申请超时中断*/
unsigned char usr_require;
//void driver_motor(unsigned char driver,unsigned char motor_number);
//void clear_motor(unsigned char motor_num);
void clear_uart_buf(void);
unsigned char uart_rec_deal();
extern void uart_driver_motor(unsigned char motor_number ,unsigned char usr_command);
extern void clear_send_buf(void);
void fill_Txbuf();
void TxFIFOFill(void);
void driver_dir(unsigned char ptr_motor_number,unsigned char motor_num);
#define SysCtlPeriEnable SysCtlPeripheralEnable
void main(void)
{
circuit();
/*cpu_dis_interrupt();
palced_magor[0].dir = 1;
uart_driver_motor(0,NULL);
while(1);*/
for (;;)
{
if(Uart_recBuf[0])
{
uart_rec_deal();
if(!error_report)
{
error_report = 1;
clear_uart_buf(); //数据若出错,清空缓存
}
}
if(TxEndFlag)
{
TxEndFlag = 0;
clear_send_buf();
//UARTCharPut(UART0_BASE, '\n');//参数千万不要给错,否则会进入FaultISR
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -