STM32
文章平均质量分 95
窗外等花开
123
展开
-
如何Keil官网下载器件支持包Software Packs
步骤1:百度一下Keil,在搜索结果中点击打开官网步骤2:在官网的搜索栏输入Software Packs,点击Go步骤3:点击打开MDK Software Packs步骤4:往下拉,找到自己需要的Pack步骤5:以下载stm32f103的pack为例,下拉找到图中方框的内容,然后点击下载即可步骤6:选择接受即可,并把pack保存...原创 2019-11-20 13:22:36 · 3362 阅读 · 0 评论 -
USB大全
http://www.crifan.com/files/doc/docbook/usb_basic/release/html/usb_basic.html原创 2019-08-15 13:14:42 · 499 阅读 · 0 评论 -
嵌入式产品开发流程
嵌入式产品,与普通电子产品一样,开发过程都需要遵循一些基本的流程,都是一个从需求分析到总体设计,详细设计到最后产品完成的过程。但是,与普通电子产品相比,嵌入式产品的开发流程又有其特殊之处。它包含嵌入式软件和嵌入式硬件两大部分,针对嵌入式硬件和软件的开发,在普通的电子产品开发过程中,是不需要涉及的。嵌入式产品的研发流程具体如下图:下面,针对嵌入式产品的开发过程中的各个阶段,我们...转载 2019-06-21 16:12:12 · 1335 阅读 · 0 评论 -
Keil使用PC-Lint
Keil使用PC-Lint 随着项目的推进与迭代,一个Project的代码量往往会不知不觉增长,当项目代码达到数万行,迭代经历较长时间后,仅靠开发人员自身的代码质量已不能满足对整体质量的把控。难以避免会出现一些潜在的逻辑错误与非逻辑错误。这种情况下,定期code review是不错的选择,但是在开发人员数量较少,开发模式趋于敏捷开发的今天,快速迭代,开发人员技术参差不齐,即便选择code r...转载 2019-06-03 13:47:09 · 2220 阅读 · 0 评论 -
让LwIP拥有PING其他设备的能力
LwIP是个很不错的协议栈,但是由于其体积过于小巧,使其只能支持ICMP的ECHO类型。因为在“icmp.c”中的“voidicmp_input(struct pbuf *p, struct netif *inp)”函数里有个很长的switch case语句(大约80行的位置)。而这个语句只case了两个条件“ICMP_ECHO”和“default”,也就是说LwIP协议栈只能识别类型为...转载 2017-05-15 17:19:29 · 4614 阅读 · 0 评论 -
printf的扩展
#define printf(format , ...) printf("FILE[%s] LINE[%d]" format , __FILE__ , __LINE__ , ##__VA_ARGS__)这个宏应用好几个技巧:1、使用printf宏,和原来的printf相同。这样我们不需要修改源码,直接替换原来的printf的函数。2、使用__VA_ARGS__宏,直接使用可变参数3、使用"FIL...转载 2017-05-13 16:53:11 · 518 阅读 · 0 评论 -
STM32 网络通信Web Server中 SSI与CGI的应用解析
本次主要解析STM32网络通信中WebServer应用,从网页界面的编写到浏览器与STM32之间进行通信的数据来说明SSI与CGI的原理及应用,并对GET与POST指令进行应用解析。硬件和软件环境:1.硬件环境:STM32F407,网卡芯片LAN8720,其他部分参考正点原子的407探索者开发板。2.软件环境:keil5,LWIP1.4.1,主要是基于正点原子STM32F407探索者的...转载 2019-04-13 17:11:50 · 8782 阅读 · 1 评论 -
stm32+lwip(四):网页服务器测试
ST官方有lwip的例程,下载地址如下:https://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32-standard-peripheral-library-expansion/stsw-stm32070.html本...转载 2019-04-12 21:02:45 · 2301 阅读 · 0 评论 -
STM32的I2C主从机通信
最近一段时间在做I2C通信协议,需要在两块STM32之间做I2C通信,定的是主机用IO口模拟,从机用的是STM32的硬件I2C,我的项目要求是需要主从机之间能够进行一串数据收发而不出错,实验时在主机方面,利用IO口模拟主机,只需要理解时序就够了,同时将速度能够控制在100K(标准)左右,基本的时序理解网上大把的资料,所以主机这一块几个小时就搞定了,而在做从机时,遇到了困难,本来从机也想用IO口模拟...转载 2019-02-19 14:38:40 · 2620 阅读 · 0 评论 -
STM32硬件错误HardFault_Handler的处理方法
https://blog.csdn.net/electrocrazy/article/details/78173558转载 2019-02-22 11:10:31 · 972 阅读 · 0 评论 -
cJSON 使用笔记
缘 起 ...转载 2019-01-15 09:45:00 · 160 阅读 · 0 评论 -
ETH—Lwip以太网通信
全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn野火视频教程优酷观看网址:http://i.youku.com/firege互联网技术对人类社会的影响不言而喻。当今大部分电子设备都能以不同的方式接入互联网(Internet),在家庭中PC常见的互联网接入方式是使用路由器(Router)组建小型局域网(LAN),利用互联网专线或者调制...原创 2018-12-25 17:19:18 · 2245 阅读 · 0 评论 -
四线电阻屏
http://www.cnblogs.com/liu_xf/archive/2011/05/11/2043550.html转载 2018-09-11 13:43:44 · 672 阅读 · 0 评论 -
#pragma pack(push,1)与#pragma pack(1)的区别
这是给编译器用的参数设置,有关结构体字节对齐方式设置, #pragma pack是指定数据在内存中的对齐方式。#pragma pack (n) 作用:C编译器将按照n个字节对齐。#pragma pack () 作用:取消自定义字节对齐方式。#pragma pack (push,1) 作用:是指把原来对齐方式设置压栈,并设新的对齐方式设置...转载 2018-05-18 14:11:04 · 147 阅读 · 0 评论 -
JTAG、SWD接口定义
版权声明:本文为博主原创文章,转载请注明。 博客已转到 http://blog.csdn.net/upc_xbt https://blog.csdn.net/u014124220/article/details/50829713Jlink仿真器接口仿真器端口连接目标板备注1. VCCMCU电源VCCVCC2. VCCMCU电源VCCVCC3. TRSTTRSTTest ReSeT/ pin4. G...转载 2018-04-17 14:45:47 · 10895 阅读 · 0 评论 -
Keil中的Code,RO,RW,ZI分别表示什么?
在使用keil开发STM32应用程序时,点击Build后在Build Output窗口中经常会有如下信息:以前一直好奇这几个参数和实际使用的STM32芯片中Flash和SRAM的对应关系,于是上网搜了一圈,做如下总结:这些参数的单位是Byte图中几个参数分别代表 Code:代码的大小RO:常量所占空间RW:程序中已经初始化的变量所占空间ZI:未初始化的static和全局变量以及堆栈所占的空间上述参...转载 2018-03-21 15:51:13 · 12426 阅读 · 2 评论 -
HardFault_Handler问题查找方法
STM32出现HardFault_Handler故障的原因主要有两个方面:1、内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。2、堆栈溢出。增加堆栈的大小。 出现问题时排查的方法:发生异常之后可首先查看LR寄存器中的值,确定当前使用堆栈为MSP或PSP,然后找到相应堆栈的指针,并在内存中查看相应堆栈里的内容。由于异常发生时,内核将R0~R3、R12、...转载 2018-02-24 15:35:08 · 638 阅读 · 0 评论 -
LwIP tcp/ip socket编程listen函数分析
函数原型为:[cpp] view plain copyint listen(int sockfd, int backlog); <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">//成功返回0,失败返回-1</span> 下面只讨...转载 2018-02-26 13:50:29 · 518 阅读 · 0 评论 -
STM32到GD32移植攻略
1、 系统 1) 晶振起振区别 描述:启动时间,GD32 与STM32 启动时间都是2ms,实际上GD 的执行效率快,所以ST 的HSE_STARTUP_TIMEOUT ((uint16_t)0x0500)是2ms,但是这个宏定义值在GD 上时间就更加短了,所以要加大这个值的设置。 解决方法:将宏定义:#define HSE_STARTUP_TIM转载 2018-01-11 09:29:27 · 47459 阅读 · 1 评论