醋醋百科网

Good Luck To You!

嵌入式RTOS就业级项目入门与实战(基于FreeRTOS) | 已完结

“获课”: itxt.top/14647/

嵌入式 RTOS 就业级项目入门与实战(基于 FreeRTOS)

在嵌入式领域,实时操作系统(RTOS)已成为复杂嵌入式系统开发的核心支撑。随着物联网、工业控制等领域的爆发式增长,掌握 RTOS 技术的工程师成为企业争抢的稀缺人才。FreeRTOS 作为一款开源、轻量、高效的 RTOS,凭借其出色的实时性和广泛的硬件兼容性,成为嵌入式工程师入门 RTOS 的首选。本文将以就业为导向,从 FreeRTOS 核心知识入手,通过实战项目带读者掌握嵌入式 RTOS 开发的核心技能。

【经典整理】90款传感器单片机代码例程(代码+原理图+说明书)

网盘链接:
https://pan.baidu.com/s/1Sxofh0pmwxxl_bnSraXaBA?pwd=1688

提取码:1688

=============== 传感器清单 =============

[20A电流传感器]

[5A电流传感器模块]

「瞎折腾系列」MM32F103空气质量检测仪

还是我的风格,开篇先啰嗦:


闲来无事,太难的不会,就想玩玩手里的吃灰板子。


去年在灵动的活动中获得一块MM32L073为主控的开发板,型号为eMiniBoard MB-023。当时测评就写了一个开箱和串口测试,现在重新捡起来,玩点小应用,因为手头的传感器有限,只能做一个空气质量检测仪,主要包含三个功能:空气温度检测,空气湿度检测和PM2.5浓度检测。

10个极品智能车方案合辑,夏日避暑进阶两不误

炎炎夏日,空调房西瓜的搭配好不自在。整理了10个极品智能车方案,在家避暑的同时,玩玩智能车,顺便提升下自己的技能吧。

1、极品智能飞车 wifi和Android控制小车(获奖作品原创)本极品飞车采用意法半导体公司的STM32F401(STM 32F401数据手册)芯片作为主控制芯片,分为PC客户端和智能小车两部分。通过WM3612—wifi模块连接路由器组建局域网系统,PC客户端通过无线获取智能小车的当前位置以及视野,根据这些信息同样利用无线方式发出控制信息,远程操作小车;智能小车上的Android手机连接本局域网,使用摄像头采集前方视频信息,并发送到PC客户端。智能小车根据PC客户端发送的控制信息做出相应动作,实现前进、左右转弯、停止等动作。https://www.cirmall.com/circuit/1342

毕业设计|语音识别智能家居制作(语音识别在智能家居上的应用)

智能家居类项目在毕业设计中最为常见,虽然已经到了“烂大街”的程度,但摆正心态,可以加入很多创新点,依然能学到更多知识。

本次分享的项目是Cheng小白毕设,代码和论文都分享出来了,希望可以给正在做毕设的同学一些帮助。项目相关设计资料可以在“

学习STM32编程——基于 RS-485 总线的多机通信应用开发

关键代码:

usart2.c

/**
* @brief USART2 初始化
* @param baud:  波特率设置
* @retval None
*/
void USART2_Init(uint32_t baud)
{
    GPIO_InitTypeDef GPIO_InitStructure;
    USART_InitTypeDef USART_InitStructure;
    NVIC_InitTypeDef NVIC_InitStructure;
    
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOG,ENABLE);
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE); // 使能 USART2 时钟
    
    /* USART2 引脚复用映射 */
    GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_USART2); //PA2 复用为 USART2
    GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_USART2); //PA3 复用为 USART2
    
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3; //PA2 与 PA3
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;  // 复用功能
    GPIO_InitStructure.GPIO_Speed = GPIO_Fast_Speed;  // 速度 50MHz
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; // 推挽复用输出
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;  // 上拉
    GPIO_Init(GPIOA, &GPIO_InitStructure); // 配置生效
    
    //PG8 推挽输出 , 用于 RS-485 模式控制
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //PG8
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; // 输出
    GPIO_InitStructure.GPIO_Speed = GPIO_High_Speed;  // 速度 100MHz
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; // 推挽输出
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;  // 上拉
    GPIO_Init(GPIOG, &GPIO_InitStructure); // 配置生效
    
    /* USART2  初始化设置 */
    USART_InitStructure.USART_BaudRate = baud; // 波特率设置
    USART_InitStructure.USART_WordLength = USART_WordLength_8b; // 字长 8bit
    USART_InitStructure.USART_StopBits = USART_StopBits_1; // 一个停止位
    USART_InitStructure.USART_Parity = USART_Parity_No; // 无奇偶校验位
    USART_InitStructure.USART_HardwareFlowControl =
    USART_HardwareFlowControl_None;
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;// 收发模式
    USART_Init(USART2, &USART_InitStructure); // 配置生效
    USART_Cmd(USART2, ENABLE); // 使能 USART2
    
    USART_ITConfig(USART2, USART_IT_RXNE, ENABLE); // 开启接收中断
    USART_ITConfig(USART2, USART_IT_IDLE, ENABLE); // 开启空闲中断
    
    /* USART2 NVIC  配置 */
    NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);
    RS485_RX_MODE; // 默认为接收模式
}
/**
* @brief USART2 发送一个字节
* @param ch:  要发送的字节数据
* @retval None
*/
void USART2_SendByte(uint8_t ch)
{
    /*  发送一个字节数据到 USART2 */
    USART_SendData(USART2, ch);
    /*  等待发送完毕 */
    while (USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET);
}
/**
* @brief USART2 发送一个字符串
* @param *str:  要发送的字符串
* @param strlen:  字符串长度
* @retval None
*/
void USART2_SendString(uint8_t *str, uint8_t strlen)
{
    unsigned int k = 0;
    RS485_TX_MODE; // 进入发送模式
    do
    {
        USART2_SendByte(*(str + k));
    } while (k++ < strlen);
    RS485_RX_MODE; // 进入接收模式
}

/**
* @brief USART2 中断服务函数
* @param None
* @retval None
*/
void USART2_IRQHandler(void)
{
    uint8_t Res, forclear;
    if (USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)
    {
        Res = USART_ReceiveData(USART2);
        USART2_RX_Buffer[USART2_RX_Index++] = Res;
        /*  防止接收缓存下标溢出 */
        if (USART2_RX_Index >= USART2_RX_MAX)
            USART2_RX_Index = 0;
    }
    if (USART_GetITStatus(USART2, USART_IT_IDLE) != RESET)
    {
        USART2_RX_OverFlag = 1;
        forclear = USART_ReceiveData(USART2);
    }
}

ESP8266系列-基本外设操作(esp8266-01s教程)

接着上一篇,可以下载helloworld.bin之后,开始测试下SDK下面的外设,利用手上的资源,看看效果。




STM32搭建简易环境监测站并通过网络实时上报

一、系统总体架构

本系统以STM32F407为核心,搭建一个环境监测节点,能够采集温湿度、光照、空气质量等数据,并通过OLED屏显示,同时通过ESP8266模块实现局域网数据上报。适合室内空气监测、智慧农业等初级应用场景。

零基础学习STM32智能家居系统之温湿度检测子系统的实现(二)

在上一节中,我们学习了DHT11温湿度传感器的使用。在这一节,结合温湿度检测子系统的功能,我们为系统设计执行机构。

系统的执行机构利用继电器加风扇来完成。当环境的温度或湿度超过设定值时,继电器吸合,风扇工作,。

6.1 继电器的介绍

本项目以1路5V继电器模块为例,进行项目设计。其它类型继电器模块类似。1路5V继电器模块采用光耦进行隔离,性能稳定,人性化设计可选择高电平或者低电平信号触发,仅需5mA电流即可驱动控制能力为10A的继电器吸合。

STM32F103系列单片机之常用功能及外围传感器实例(精华)


开发STM32F103很好的参考例程,轻松实现各类外围器件的开发。持续更新中,欢迎关注及收藏。


网盘链接:
https://pan.baidu.com/s/1NIrDmbm8EtFkB1G8s7E3Sg?pwd=qsoh

<< 1 2 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言