四旋翼无人机从0到1的实现(二十)无人机MCU驱动→SYSTICK

Author:家有仙妻谢掌柜
Date:2021/2/18

今年会更新一个系列,小四轴无人机从功能设计→思维导图→原理图设计→PCBLayout→焊接PCB→程序代码的编写→整机调试一系列,以此记录自己的成长历程!
这个小四轴无人机是大学时期学习制作的,加上现在工作学习对嵌入式的理解更加深入,因此想要重新梳理一下小四轴,之后在此基础上实现大四轴的飞控设计,这些都将在工作之余完成!

//小四轴无人机设计,定时器中断是必须的,用滴答定时器不占用定时器外设资源,它属于内核

#include "systick.h"

/*******************************************************************************
 * fuction	systick_init     
 * brief	滴答定时器一毫秒的初始化
 * param	无
 * return	无
 *******************************************************************************/  
void systick_init(void)
{
	uint32_t ticks = 0;           //24位 72000
		
	ticks = SystemCoreClock/1000;	/* 重载值设定72000  */
	SysTick_Config(ticks);			/* 开滴答定时器使能 */	
}
/*******************************************************************************
 * fuction	SysTick_Handler    
 * brief	滴答定时器中断服务函数
 * param	无
 * return	无
 *******************************************************************************/  
void SysTick_Handler(void)
{
	SysTick_uptime_millis++;
	system_task();
}
/*******************************************************************************
 * fuction	delay_ms      
 * brief	可编程的毫秒延时器
 * param	无
 * return	无
 *******************************************************************************/
void delay_ms(uint32_t ms)
{
	if(ms==0)  
	return;

	uint32_t start =  SysTick_uptime_millis;
	while((SysTick_uptime_millis-start)<ms);      //延时时间值		
}
#ifndef _SYSTICK_H__
#define _SYSTICK_H__

#include "board_define.h"
#include "var_global.h"
void delay_ms(uint32_t ms);
void systick_init(void);

#endif
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
对于四旋翼无人机飞控系统代码的实现和仿真,目前有多种方法和工具可供选择。其中,常用的方法包括使用开源飞控软件和使用专业仿真软件。 一种常见的方法是使用开源飞控软件,如ArduPilot和PX4。这些软件提供了完整的飞控系统代码,包括飞行控制算法、传感器数据处理、通信协议等。你可以根据自己的需求选择合适的硬件平台,如Arduino或Raspberry Pi,然后将开源飞控软件烧录到硬件上。通过配置和调试参数,你可以实现四旋翼无人机的飞行控制和导航功能。此外,这些开源软件还提供了仿真环境,可以在计算机上进行飞行仿真,以验证飞控系统的性能和稳定性。 另一种方法是使用专业仿真软件,如MATLAB/Simulink和ROS(机器人操作系统)。这些软件提供了丰富的工具和库,用于建模、仿真和控制四旋翼无人机。你可以使用MATLAB/Simulink进行系统建模和控制算法设计,并使用Simulink中的飞行仿真工具进行飞行仿真。而ROS提供了一套完整的机器人开发框架,包括传感器数据处理、导航算法、通信协议等。你可以使用ROS中的相关软件包和工具,快速搭建和测试四旋翼无人机的飞行控制系统。 无论使用哪种方法,实现四旋翼无人机飞控系统代码的过程都需要一定的编程和控制理论知识。你需要了解飞行控制算法、传感器数据处理、通信协议等相关知识,并根据具体需求进行代码编写和调试。同时,为了保证飞行安全和稳定性,你还需要进行充分的测试和验证,包括地面测试和飞行测试。 总结起来,实现四旋翼无人机飞控系统代码的方法包括使用开源飞控软件和使用专业仿真软件。无论选择哪种方法,都需要具备一定的编程和控制理论知识,并进行充分的测试和验证。希望这些信息对你有所帮助。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [基于串级 PID 控制算法的四旋翼无人机控制系统设计与实现](https://blog.csdn.net/qingfengxd1/article/details/126212805)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值