一.中断函数注册方法: 1.格式: 配置某个功能的中断 注册中断函数 开启中断 2.一个例子 pit_init_ms(PIT0,);//定时中断初始化 set_vector_handler(PIT0_VECTORn ,PIT0_IRQHandler); //设置PIT0的中断服务函数为 PIT0_IRQHandler enable_irq (PIT0_IRQn);   二.ADC模块 1.ADC通道管脚对应表 typedef enum { // -------------------------…
一.代码分享 1.头文件 #ifndef __MENU_H #define __MENU_H /***********宏定义************/ //页面声明 typedef enum Menu_Page_Enum { MainMenu = , SubMenu1 = , SubMenu2 = , SubMenu3 = , SubMenu4 = , SubMenu5 = , SubMenu6 = } Menu_Page_Enum; //页面位置声明 #define OLED_TOP 0 #d…
一.C车电机选择 1.摘要:      因为C车模在四轮车的优势是有两个电机,可以进行主动差速,劣势是电机太弱了....所以如何选择电机,就是个钱的问题了,电机多一点,就比较好选,但是C车电机跑多了就会变的很弱很弱.所以请准备好钞票. 2.选择方法: (1) 使用恒流源,配合单片机程序,测试出,对应电压的电流和转速,一般采样10个点即可,正反转都要   (2)使用Matlab进行相关性拟合(以电压和电流为输入),转速为输出,得到  cnt = a * V + b * I   中a和b的参数(正反…
      因为毕竟是竞赛,跟学校挂钩,没办法开源代码和算法完成思路,所以不能详细写太多,如果可以等价交换的话,应该还是可以向领导申请一下的.       在厦大信科通信系,参加这个比赛,大家都觉得性价比太低,毕竟这个系,学霸太多,能力太强,课程多,分数还必须要高,如果参加这种要花大半年的时间来准备,但是却只能抱着不确定性拿奖的比赛,对于那些拼保研名额的同学简直有点太过于奢侈.所以基本上选择了创客类比赛,电子设计竞赛,ACM,数学建模,这些短周期的比赛.其实我也纠结了很久,其实,本来我也就是简简…
一.代码展示 1.头文件: #ifndef OLED_H_ #define OLED_H_ extern unsigned char Draw[]; extern const unsigned char Font_8x16[]; ]; extern const unsigned char Map[]; /*--------------------*OLED写数据*--------------------*/ void OLED_Write_Data(unsigned char Data); /*…
一.经典PID控制       使用遇限反向PID会比较适合有加减速的车子,使用变速积分适合跑匀速的车子.然后这种方法的条件下,一定要尽可能缩短控制周期..   二.PID加棒棒控制       针对C车,因为电机太弱了.所以可以使用棒棒进行加减速可以有效的提升车子性能.一般推荐控制周期10ms   三.模糊控制…
一.为何要追求软连接?       车子进行软连接之后,可以达到一种效果,就是在高速过程中,车子如果快要发生侧翻的时候,只会跳一个后轮,且只是轻微,而前轮如果进行的内倾,就可以让前轮最大面积接触,增大摩擦力,在这种调节下,可以保持高速而不会翻车,且不会减速,增加过弯速度.然后还有在过陂的时候,可以有减震的作用(说到底就是C车电机太差了 = = ).       但存在一种情况..电机过分差的时候..速度无法过高,否则的话直接翻车,比赛结束.       经过个人的分析比对,参考上届的国特学长,以…
一.舵机的结构      舵机简单的说就是集成了直流电机.电机控制器和减速器等,并封装在一个便于安装的外壳里的伺服单元.能够利用简单的输入信号比较精确的转动给定角度的电机系统.舵机安装了一个电位器(或其它角度传感器)检测输出轴转动角度,控制板根据电位器的信息能比较精确的控制和保持输出轴的角度.这样的直流电机控制方式叫闭环控制,所以舵机更准确的说是伺服马达,英文servo.   二.舵机的规格和选型      舵机的规格主要有几个方面:转速.转矩.电压.尺寸.重量.材料等.我们在做舵机的选型时要对…
一.学习说明 感觉就是配置I2C通信,然后直接移植51代码... 二.代码分享: 1.头文件: #ifndef I2C_GYRO_H_ #define I2C_GYRO_H_ /***********函数声明***********/ extern void Gyro_Init(void); extern void Read_GY(void); /*****************************/ /***********全局变量声明***********/ extern float G…
一.概述 使用的是蓝宇的底层,主要有初始化管脚,设置管脚状态,反转管脚状态等. 二.代码重述: 1.头文件gpio.h #ifndef GPIO_H //防止重复定义(gpio_H 开头) #define GPIO_H #include "common.h" //包含公共要素头文件 /* * 定义管脚方向 */ typedef enum GPIO_CFG { //这里的值不能改!!! GPI = , //定义管脚输入方向 GPIOx_PDDRn里,0表示输入,1表示输出 GPO = ,…