自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (4)
  • 收藏
  • 关注

原创 C语言连接符

先说说“#define LWIP_MEMPOOL(name,num,size,desc) MEMP_##name,” 这个宏定义,此处先补充一下 C 语言的连接符“##”相关的知识, ##被称为连接符(concatenator),用来将两个 Token 连接为一个 Token。注意这里连接的对象是 Token 就行,而不一定是宏的变量。

2023-08-02 20:12:47 864

原创 英飞凌TC233使用笔记

发送数据0x01–0x05,但是接收到的数据内容有时候正确,有时候多了十几个字节,有时候就一个字节等。问题原因:由于我的定时器5us的中断优先级配置为4,asc的中断优先级也配置为4导致了串扰了。1、使用TC233的AsclinAsc模式时,串口发送出来的数据不对问题。解决办法:将不同的中断优先级设置为不同的值,否则可能会产生意外的结果。

2023-05-17 14:58:48 592

原创 RT1052 SD卡初始化

问题:初始化时一直卡在SD_ProbeBusVoltage或者出错在SD_SetDataBusWidth。添加宏定义FSL_SDK_ENABLE_DRIVER_CACHE_CONTROL=1。解决办法:工程中一定要加入文件fsl_cache.c。

2023-03-21 09:53:26 279

原创 Tasking使用笔记

DAvE工具里默认的是Word length:8,Frame length:8(图1),但是实际生成代码后U1C1_SCTRH = 0x0707(图2),这导致和我们串口调试助手配置的数据位为8(图3)不相符合并且也会导致收不到数据最高位为1的情况,所以我们得手动将U1C1_SCTRH改为 0x0808(图4)一、创建一个demo工程编译后出现XC22XXLREGS.H的重复定义警告。如果需要更换自己需要的链接脚本则按照下图替换。按下图设置后重新编译即可生成hex文件。二、编译后不出现hex文件。

2023-03-01 15:04:28 1257

原创 RT1176 EMMC读写块改写成地址访问读写

MMC_WriteBlocks和MMC_ReadBlocks库函数。测试了几种不同存数据的情况。

2022-12-19 19:28:21 376

原创 FreeRTOS外部中断干扰Task运行问题

在基于FreeRTOS系统下,进行按键的外部中断时,如果我们按键中断触发方式为低电平的话,在我们按下按键的时候,会一直进入中断,FreeRTOS的Task就无法进行,所以要将按键的中断触发方式改为边沿触发检测。如下实验使用RT1052平台,按键中断源为下降沿触发,使用定时器进行软件消抖(该开发板有进行硬件消抖,但是还是没办法保证可完全消抖)

2022-11-08 23:03:42 1751

原创 KEIL/MDK编译优化optimization选项注意事项

也就是说,-O3 -Ospace比-O2 -Ospace支持更多的优化,但不会执行更积极的大小缩减。关闭会严重降低调试视图的优化。生成的代码可以明显小于-O0处的代码,这可以简化目标代码的分析。当启用调试时,该选项将提供最佳的调试视图,因为生成的代码的结构直接对应于源代码。尽管由-O0生成的调试视图最接近源代码,但用户可能更喜欢由-O1生成的调试视图,因为这在不改变基本结构的情况下提高了代码的质量。•源代码到目标代码的映射可能是多对一,因为多个源代码位置映射到文件的一个点的可能性,以及更激进的指令调度。

2022-10-18 10:03:47 3823

原创 基于RT1176开发调试问题汇总

当平时在使用同一种资源时,比如LPSPI,初始化过程会使用接口LPSPI_MasterGetDefaultConfig去获取基本参数值,如果假设你的传输协议是MSB,切记不可在函数LPSPI_MasterGetDefaultConfig中直接修改,应该在获取这些基本参数后,再次在自己的驱动文件中修改,避免如果你同时使用LPSPI1和LPSPI5时你修改的是LPSPI_MasterGetDefaultConfig而导致传输协议不一样。

2022-10-17 18:50:52 492

原创 NXP RT1052移植FreeRTOS报Error:..\..\FreeRTOS\port\RVDS\ARM_CM7\r0p1\port.c,776问题

3、设置对应中断的抢占优先级和子优先级(抢占优先级的设置不能小于configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY的值,也就是中断的优先级不能比系统可管理的最高优先级高,如果该值比configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY的值小,这个中断是不受 FreeRTOS 管理的)1、其实RT1052的中断优先级的配置方式和其他M系列的单片机配置方式基本一样,需要注意的是,RT1052只支持16位优先级,[7:4]

2022-09-26 13:47:58 1110

原创 float与unsigned int的转换

最近项目中,ADC采样回来的数据存储在uint32_t中,要计算真实电压时得转为float类型,由于uint32_t和float的存储方式是不一样的(根据IEEE 754的标准,浮点数的存储由符号位、指数位、小数位组成)如果我们分别定义两个变量去存储uint32_t和float互转的值,此情况就需要开辟两个空间去存储,所以我们采用联合体(union)来存储,既解决了float转u32,又解决了u32转float,代码如下。

2022-09-08 09:13:05 3003

原创 keil5软件仿真 .\Objects\FreeRTOSBase.axf: Error: L6218E: Undefined symbol Image$$ARM_LIB_STACK$$ZI$$Limi

keil5软件仿真时报如下错误:RML​IBS​TACK。

2022-09-06 21:01:50 1347 2

原创 XC2234+Tasking结构体定义位域存储方式解析

如若将变量SrcSel定义为 uint8_t SrcSel:4;则不会报错,但是该结构体SIDPControl_SG的size会变成10byte,则无法排列为自己需要的数据存储方式。如下代码中定义信号位域,该代码在NXP的MCUXpress IDE下编译是不会报错的,但是在Tasking下是会报位域使用违法错误。该文档作为记录,如果有博友也有遇到该情况可进行参考下,如果有解决方案也可留言一起探讨下!不同的编译器下,位域的具体存储规则是不同的,导致无法按照自己需要的去排列。

2022-09-05 10:23:35 310

原创 Keil5遇到error:#8:missing closing quote 处理

用SourceInsight4.0建立一个关于这个代码项目的工程,在SourceInsight4.0的选项Options->Preferences->Files中最下面的Defaultencoding(编码方式)要选择UTF-8withBOM,然后在SI里面编辑代码,在KEIL编译就不会报错。把报错提示的文件(包括.c和对应.h)用Notepad++打开,修改编码方式(改为UTF-8无BOM),重新打开项目,就不会报错。添加–locale=english解决该问题,用空格和前面隔开。...

2022-08-01 22:21:15 2735 1

原创 RT1052液晶显示遇到Cannot Load Flash Programming Algorithm问题

在第一次下载液晶显示demo时,配置如下图内容,可以正常下载,也可以正常运行。将配置修改为如下图内容后可正常下载。

2022-08-01 19:03:40 566

原创 用C语言实现状态机设计模式

举个例子task1(BSM,condition1/action1–>NOS)和task2(NOS,condition2/action2–>RSS)先后执行,是可以顺利到达RSS状态的,但若操作action1运行的时候,执行权限被task2抢占,则task2此时看到的当前状态还是BSM,BSM遇到condition2就进入陷阱状态,而不会到达RSS了,也就是说,状态的跳转发生了不确定,这是不能容忍的。当某个状态遇到不能识别的输入时,就默认进入陷阱状态,在陷阱状态中,不论遇到怎样的输入都不能跳出。...

2022-07-29 18:17:10 948

原创 python 列表直接赋值问题

定义了list1的内容,再定义list2=list1,中间修改了list2的内容后,同时list1的内容也会被修改。将list1要赋值给list2时先转为元组,最后再讲list2转为list。

2022-07-19 18:00:40 438

原创 python for循环修改循环变量问题

使用python的for循环时,在for循环过程中需要修改循环变量时,发现在用foriinrange(0,len(seq))的时候,在循环体不能修改i的值。使用for循环时,过程中对i进行加1操作,但是最后还是按顺序打印出test列表的全部内容,意味着没有对循环变量加1成功。...

2022-07-19 17:52:27 2884

原创 最新版pycharm-2022.1中更换下载源按钮manage repositories更改位置

1、新版的pycharm没有managerepositories按钮。3、搜索相应的包,并选择需要的下载。2、按如下图方式添加下载源。

2022-07-16 22:28:09 7501 12

原创 基于RT1052的SEMC的SDRAM读写测试

注1、对SDRAM存储空间的数据操作都要在SDRAM_Init初始化SEMC之后。2、当前这种方式不适用于系统启动后就需要SDRAM的应用。基于RT1052的SEMC的SDRAM读写测试。

2022-07-16 22:19:11 836 1

原创 基于RT1052的FlexSPI读写FLASH(W25Q256JV)

基于RT1052的FlexSPI读写FLASH(W25Q256JV)

2022-07-13 15:46:24 1082

原创 基于RT1052的DMA(内存到外设的实验)

注:串口发送8个byteDMA才响应发送出来

2022-07-06 21:54:21 634

原创 基于RT1052的DMA(内存到内存的实验)

注:1、需要注意配置edma_transfer_config_t时配置好源数据每个字节长度2、需要注意DMA每次传输时需要间隔时间,防止DMA阻塞

2022-07-06 21:12:11 732

原创 基于RT1052与外设AT24C02的I2C通信demo

注:配置IO时不能配置为开漏模式

2022-07-05 22:14:40 301

原创 MDK安装过程中报错:“SVDConv returned with an error”

解决方法:第一步:先确认安装包是放在纯英文路径下的,如果不是请重新安装第二步:如果安装包是放在纯英文路径下,但是还是报改错误,重新尝试下载最新MDK解决:https://www.keil.com/download/product/...

2022-06-07 11:16:14 2857

原创 NXP官方SDK、固件库、帮助文档下载

1、下载链接https://mcuxpresso.nxp.com/en/select2、如果有NXP官方账户则按照如下1,2,3步骤进行登录,如果没有NXP官方账户则点击第4步进行注册3、按照如下方法选择对应自己的SDK版本4、按照如下步骤进行选择自己SKD所需要内容5、在此等待创建6、等待跳转出如下界面,点击图中下载按钮7、跳转出的界面按照自己需求下载对应内容...

2022-06-07 08:39:01 2340

原创 QLabel中linkActivated和linkHovered响应问题

做了如下实验:点击Name和Password标签均未能连接事件经过分析后:在设置标签属性时注意标签中一定要有href属性,否则信号不会响应类似如下:self.label_1.setText(“这是一个文本标签!百度”)import sysfrom PyQt5.QtGui import QIcon,QFont,QPalettefrom PyQt5.QtWidgets import QWidget,QApplication,QDesktopWidget,QLabel,QLineEdit,QPus

2022-05-12 16:30:16 4088

原创 python使用 pyinstaller -F -w file报PermissionError问题

python使用 pyinstaller -F -w file报PermissionError问题根据自己的情况,该报错重新安装pyinstaller 或者重启一下pycharm可以解决一次该问题,但是如果第二次打包就会报该问题,但是,经过验证该情况不影响产生exe也不影响产生的exe的功能虽不影响该功能,尝试过网上很多的例子,都还是会这个情况,偶发性不会报该错误,如果有更好的解决办法希望各位客官告知,万分感谢!!!...

2022-02-16 14:47:05 2863

原创 Python文件读写 write()之后不能read()出文件内容的解决办法

#!/usr/bin/env python# -*- coding:utf-8 -*# 博客:5789113# author:Mr Zhangimport osfile_name = "testing.txt"fd = open(file_name,mode="a+",encoding="utf-8")txt = "写入消息\nHello World\n"print(txt)print(fd.write(txt))print(fd.tell()) #读取当前文件指针位置#print(f

2021-10-29 15:35:11 649 1

原创 python自动添加头文件注释

为什么要添加头文件注释?https://zhuanlan.zhihu.com/p/262456371如何自动添加头文件注释?上步完成之后重新创建一个.py文件就可以自动添加注释了

2021-10-29 10:48:03 144

原创 python的print输出缓冲区问题

python的print输出缓冲区问题切记切记切记!!!调试过程中使用print函数时,如因死循环或者某种原因卡住,记得在print函数的下一行加一句sys.stdout.flush() (记得先import sys 模块)#!/usr/bin/python#coding=utf-8'''暂停1s输出'''import timedef printStar(n): for i in range(n): print " * ",

2021-10-21 22:26:24 2449

转载 python内置函数的使用方法

https://blog.csdn.net/lemonbit/article/details/115153134

2021-10-13 12:02:41 51

原创 C语言断言

断言是什么???断言其实是防止程序意外出错的一种宏,如果其参数计算为假,则程序发出警告,且退出例://断言#define vAssertCalled(char,int) printf("Error:%s,%d\r\n",char,int)#define configASSERT(x) if((x)==0) vAssertCalled(__FILE__,__LINE__)...

2021-07-13 21:34:21 226

原创 FreeRTOS源码详解与应用开发全部资料

链接:https://pan.baidu.com/s/1VRsHPNcfgvQcQc2NriXcPQ提取码:defa

2021-07-12 20:28:10 1128

转载 目前CSDN上最全面的C语言讲解如何用更高层次编写嵌入式C代码

https://blog.csdn.net/weixin_46931877/article/details/116639325

2021-06-04 10:45:32 89

原创 linux驱动的input子系统与平台总线结合

/*plat_input_drv.c*/#include <linux/input.h>#include <linux/module.h>#include <linux/init.h>#include <linux/interrupt.h>#include <linux/gpio.h>#include <linux/platform_device.h>#include <linux/slab.h>#in

2021-06-02 21:27:36 142

原创 linux完整的驱动组成和硬件初始化中断申请

#include <linux/init.h>#include <linux/module.h>#include <linux/slab.h>#include <linux/device.h>#include <linux/interrupt.h>#include <linux/fs.h>#include <linux/cdev.h>#include <linux/input.h>#includ

2021-05-29 10:04:00 74

原创 linux完整的驱动组成和应用空间和内核空间之间传递参数

/*注:soc:s5pv210hello_drv.c*///1.头文件声明#include <linux/init.h>#include <linux/module.h>#include <linux/fs.h>#include <linux/device.h>#include <asm/io.h>#include <asm/uaccess.h>#define GPC0_BASE 0xE0200060 //led

2021-05-26 11:06:30 92

原创 基于Linux系统下的S5PV210实现远程控制LED和蜂鸣器

1,实现两个设备驱动:蜂鸣器,led灯2,写一个服务器程序接收客户端命令,根据命令操作不同的设备3,实现一个客户端程序,向服务器发送命令,控制设备/*home_work_client.c使用select多路复用实现TCP双向通信服务器端代码实现一个客户端程序,向服务器发送命令,控制设备*/#include <stdio.h>#include <sys/types.h> /* See NOTES */#include <sys/socket

2021-05-10 10:35:04 495

原创 基于stm32F407和stm32F103的智能家居系统

此项目分为:客户端(基于stm32f103智能家居)、服务器中转站(基于stm323f407客户端控制和云服务数据解析)、手机(控制家居)、易监控云服务(数据转发)客户端是直接控制各类家居传感器,所以在尽量满足客户需求的同时操作要简洁易懂,在最初版本中只能满足用户最基本的家居传感器控制。后续升级过程,我们会更多的迎合客户需求和市场定位,为所有使用我们产品的用户提供多元化智能管理家居各类产品。服务器中转站面向客户端上传数据和解析云端数据指令,不仅要满足客户的基本需求,最初版本仅供于客户端数据中转1.客户

2021-05-02 20:10:04 1765 2

原创 ESP8266的sta+ap模式

printf ( “\r\nwaiting…\r\n” );SYSTICK_NmsDelay(2000); //延时2s,让模块自动连接WiFi ESP8266_Cmd ( “AT+RESTORE”, “OK”, “ready”, 2500 );//回复出厂设置,返回ok和ready ,等待2500ms ESP8266_Net_Mode_Choose(STA_AP);//sta+ap模式while ( ! ESP8266_JoinAP ( macUser_ESP8266_ApSsid, mac

2021-05-02 19:00:02 2405

demo_F4 - screen.rar

demo_F4 - screen.rar

2021-05-02

QQ_Chat_Room.rar

QQ聊天室

2021-04-15

env.rar env软件压缩包

Git软件,Rt_thread开发使用

2021-03-10

1. env 简介.mp4

几个关于env的使用教程,适合要做Rt_thread开发的同学

2021-03-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除