匠人手札

 

2018年7月17日

STM32F401 外部中断误触发问题

摘要: 现象:调试STM32F411低功耗的时候,使用的PA1做个唤醒源,发现在没有触发EXTI的时候,MCU居然被唤醒。 原因:PA1配置成EXTI(上拉输入),经常被误触发 解决方式:将PA1配置成浮空输入,并且外部上拉一个4.7k电阻,就不会误触发了。 这种bug的原因一直没有搞清,先记下省的以后就忘 阅读全文

posted @ 2018-07-17 16:59 当往事已成往事 阅读(675) 评论(0) 推荐(0) 编辑

2018年5月14日

初始IP协议

摘要: 一、引言 发送一段TCP数据大致需要经过:用户封装 –> TCP封装 –> IP封装 –>帧封装 Note:用户封装没啥好说的,都是客户自己决定的,在一些简单的应用情况下,这个步骤可以省去。 本篇重点讲述IP封装。 二、IP协议解析 一般的IP首部长度为20个字节,除非含有选项字段 第一行字段如下: 阅读全文

posted @ 2018-05-14 10:23 当往事已成往事 阅读(459) 评论(0) 推荐(0) 编辑

2018年5月3日

初识TCP协议

摘要: 一、引言 发送一段TCP数据大致需要经过:用户封装 –> TCP封装 –> IP封装 –>帧封装 Note:用户封装没啥好说的,都是客户自己决定的,在一些简单的应用情况下,这个步骤可以省去。 本篇重点讲述TCP封装,IP封装和帧封装将单独博文中讲述。 二、TCP协议解析 TCP数据被分装在IP的数据 阅读全文

posted @ 2018-05-03 14:05 当往事已成往事 阅读(163) 评论(0) 推荐(0) 编辑

网络知识扫盲知识(一)

摘要: 之前一直忙于项目的进度,终于有时间把网络知识系统的学习一下了,记下笔记,以备不时之需,网络大神请跳过 /*****************************我是华丽的分割线***************************/ 网络可以分为四层(有的说是七层,具体内容请自行百度,这东西除了面 阅读全文

posted @ 2018-05-03 11:32 当往事已成往事 阅读(548) 评论(0) 推荐(0) 编辑

2018年5月2日

Ymodem协议说明

摘要: 模块的固件烧录过程,由Term(发送方)发送固件文件,模块(接收方)接收并写入MCU,期间使用的数据传输协议是ymodem协议。 一、概述 ymodem协议是一种发送并等待的协议,即发送方发送一个数据包以后,都要等待接收方的确认。如果是ACK信号,则继续发送新的包;如果是NAK信号,则重发该包或者错 阅读全文

posted @ 2018-05-02 10:48 当往事已成往事 阅读(2696) 评论(0) 推荐(0) 编辑

2018年4月8日

基于Ubuntu的ESP32平台搭建

摘要: 提要:针对于Ubuntu下的ESP32搭建,网上有很多博文,乐鑫官网也有指导手册,对于到家都知道的部分我就一带而过,我主要描述搭建过程中遇到的问题和细节。 1.创建一个ESP的目录 I)切换到root用户 II)在root目录下创建个esp文件夹 mkdir ~/esp III)切换到ESP目录下 阅读全文

posted @ 2018-04-08 10:17 当往事已成往事 阅读(1828) 评论(0) 推荐(0) 编辑

2018年3月21日

基于IAR平台FreeRTOS移植

摘要: 开始这篇文章之前先简单说明一下,我使用的MCU是我们公司自主研发的ACH1180芯片,和STM32差不多,都是Cortex-M4的核,所以移植的过程参考了STM32移植的步骤。 1.解压FreeRTOSV8.2.3到本地目录(FreeRTOS的源码在官网上有,目前是9.0.0版本,据说8版本稳定,但 阅读全文

posted @ 2018-03-21 11:58 当往事已成往事 阅读(4061) 评论(0) 推荐(0) 编辑

2014年8月26日

EMIF接口的寻址问题

摘要: 2014年8月26日,一个网友提出了一个关于EMIF访问地址很典型的问题,在此我阐述一下我的个人理解。 一、提出问题 他问的问题没有这么简单,但是差不多就是这种意思,我在晚上找个典型事例,如下: DSP通过EMIF(16bit)操作外部的SDRAM,有如下对应关系: 0x9000000是EMIF的基 阅读全文

posted @ 2014-08-26 14:33 当往事已成往事 阅读(1234) 评论(0) 推荐(0) 编辑

2014年8月22日

C6000系类的内联函数

摘要: 1.求绝对值函数 (1) _abs() C代码 : int _abs(int src) 汇编: ABS 功能: 求32位数据的绝对值 (2) _labs() C代码: int _labs(long src) 汇编: ABS 功能: 求40位数据的绝对值 (3) _abs2() C代码: int _a 阅读全文

posted @ 2014-08-22 10:53 当往事已成往事 阅读(2032) 评论(0) 推荐(0) 编辑

C6000代码层面优化(一)

摘要: 2014年8月7日,看了一片很长见识的博文,关于DSP如何优化的,有一个问题没有搞通,“百度”一下关键字,居然搜查了一模一样的博文N片,现在也搞不懂这篇博文的原创作者是谁了。反正我感觉直接转摘过去,要是消化不掉,也没啥意思,所以我把我可以理解消化的就先记录下来吧。 一、双重循环或多重循环在保证功能的 阅读全文

posted @ 2014-08-22 10:47 当往事已成往事 阅读(563) 评论(0) 推荐(0) 编辑

导航