为你转身 发表于 2022-7-31 20:21

common.c文件:
/*********************************************************************************************************************
* COPYRIGHT NOTICE
* Copyright (c) 2019,逐飞科技
* All rights reserved.
* 技术讨论QQ群:一群:179029047(已满)二群:244861897
*
* 以下所有内容版权均属逐飞科技所有,未经允许不得用于商业用途,
* 欢迎各位使用并传播本程序,修改内容时必须保留逐飞科技的版权声明。
*
* @file                                common.c
* @company                        成都逐飞科技有限公司
* @author                        逐飞科技(QQ3184284598)
* @version                        查看doc内version文件 版本说明
* @Software                        IAR 8.32.4 or MDK 5.28
* @Target core                MM32F3277
* @Taobao                        https://seekfree.taobao.com/
* @date                                2021-02-22
********************************************************************************************************************/

#include "common.h"
#include "hal_misc.h"

CAMERA_TYPE_enum camera_type;                                                                                                        // 摄像头类型变量
uint8 *camera_buffer_addr;                                                                                                                // 摄像头缓冲区地址指针

//-------------------------------------------------------------------------------------------------------------------
// @brief                中断初始化
// @param                irqn                        中断号,可以查看 reg_common.h 文件中的 IRQn_Type 枚举体定义
// @param                priority                选择该中断优先级 范围
// @param                status                        使能或者失能
// @return                void
// Sample usage:                                nvic_init(EXTI0_IRQn, 0, ENABLE);                                // 外部中断0使能,抢占优先级最高
//-------------------------------------------------------------------------------------------------------------------
void nvic_init(IRQn_Type irqn, uint8 priority, FunctionalState status)
{
        NVIC_InitTypeDef NVIC_InitStructure;

        NVIC_InitStructure.NVIC_IRQChannel = irqn;                                  // 中断号设置
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority= priority & 0x07;                // 抢占优先级值越小,优先级越高
        NVIC_InitStructure.NVIC_IRQChannelSubPriority= 0;                                                        // 响应优先级值越小,优先级越高
        NVIC_InitStructure.NVIC_IRQChannelCmd = status;                                                                // 使能
        NVIC_Init(&NVIC_InitStructure);
}

//-------------------------------------------------------------------------------------------------------------------
// @brief                全局中断使能
// @return                void
// Sample usage:                                nvic_interrput_enable();
//-------------------------------------------------------------------------------------------------------------------
void nvic_interrput_enable (void)
{
        __ASM volatile("cpsie i");
}

//-------------------------------------------------------------------------------------------------------------------
// @brief                全局中断失能
// @return                void
// Sample usage:                                nvic_interrput_disable();
//-------------------------------------------------------------------------------------------------------------------
void nvic_interrput_disable (void)
{
        __ASM volatile("cpsid i");
}

void NMI_Handler(void)
{
        while(1);
}
//void HardFault_Handler(void)
//{
//        //硬件上访可能是数组越界或者使用了未初始化的设备
//        //这里提示大家一个问题,经常有人说我的外设初始化了怎么就是要进HardFault呢
//        //很多是因为自己开了中断,然后在中断里面使用了外设,然后他的初始化顺序是先初始化中断然后再初始化外设
//        //那么问题就来了,中断初始化完成之后会部分中断直接进入中断函数或者满足调节也会进入中断函数,那么就会造成中断里面使用到的外设还没被初始化
//        //所以大家需要注意这个问题
//        while(1);
//}
void MemManage_Handler(void)
{
        while(1);
}
void BusFault_Handler(void)
{
        while(1);
}
void UsageFault_Handler(void)
{
        while(1);
}
void SVC_Handler(void)
{
        while(1);
}
void DebugMon_Handler(void)
{
        while(1);
}
//void PendSV_Handler(void)
//{
//        while(1);
//}

为你转身 发表于 2022-7-31 20:21

headfile.h文件添加“#include “rtthread.h””

//RTT头文件
#include “rtthread.h”

为你转身 发表于 2022-7-31 20:22

七、编译运行
可看到板载led持续闪烁
串口持续打印如下数据:

为你转身 发表于 2022-7-31 20:25

kiwis66 发表于 2022-8-23 20:34

有PDF么

macpherson 发表于 2022-9-5 13:06

rtthread studio支持mm32吗

iamaiqiyi 发表于 2022-9-5 13:51

rtthread占用的ram大吗

sheflynn 发表于 2022-9-5 15:44

现在单片机的性能都这么强悍了

claretttt 发表于 2022-9-5 17:11

mm32f3兼容stm32哪个?

Bowclad 发表于 2022-9-9 19:06

MM32F3277做智能车性能过剩啊

jackcat 发表于 2022-9-10 20:44

RT-THREAD 有没有各个性能测试的范例

jimmhu 发表于 2022-9-10 21:31

rt-thread系统如何调用动态库

averyleigh 发表于 2022-9-11 11:16

个人认为RT-Thread是一个非常好的系统。

myiclife 发表于 2022-9-11 12:08

怎么将i2c设备驱动添加到rt-thread中

benjaminka 发表于 2022-9-11 13:04

RT-THREAD 的中断程序怎么写

rosemoore 发表于 2022-9-11 13:55

rt-thread 怎么确定线程栈大小

mollylawrence 发表于 2022-9-11 14:45

需要学习rt-thread吗

pl202 发表于 2022-9-11 15:35

灵动微MM32 MCU支持什么操作系统

qiufengsd 发表于 2022-9-11 16:26

如何在rt-thread上开发应用程序

plsbackup 发表于 2022-9-11 17:17

rt-thread是否是免费的
页: 1 2 [3] 4
查看完整版本: 基于keil环境下mm32f327单片机rtthread的移植