
单片机/MCU/ARM
阳光守望者Coder
从事车载MCU开发。单片机、嵌入式开发及项目管理交流分享
我的更多技术分享文章请关注:
百家号:https://author.baidu.com/home?context=%7B%22app_id%22%3A%221646108714303504%22%7D&wfr=bjh
头条号:https://www.toutiao.com/c/user/8115738721/#mid=1646025109246987
展开
-
STM32 LWIP TCP以太网传输数据
最近在做以太网数据传输,要把AD采到的数据通过网口发送给上位机(客户端),我采用的是LWIP协议栈,实现了功能。做项目时间紧,也要先看一下LWIP协议栈,TCP ,UDP传输协议。我采用的是TCP协议数据传输,好处是传输可靠。直接贴代码,从main开始,int main(void){ SystemInit();System_Setup(); GpioLed_Init();...原创 2015-05-21 16:03:07 · 16963 阅读 · 18 评论 -
STM32采集频率-外部计数方式
STM32采集频率低频用捕获精度很高,测量高频误差有点大,可能是这种方法我掌握的不够好,决定采用外部计数的方法来测量比较高的频率。我是用一个定时器定时一个定时器计数再根据f=n/t算出频率,这种方法方法原理上是定时时间越长求出的频率越高,但是STM32的定时器是16位的,要考虑到计时溢出的情况。 先从main函数开始介绍:int main(void){ int i;原创 2015-07-26 09:05:50 · 19934 阅读 · 8 评论 -
STM32频率计算——捕获方式
STM32采用定时器捕获的方法测低频信号很准确,我测高频100K-120K就误差太大了,大概200Hz,这儿的误差是个范围,不是某个值。有的人说两个定时器一个定时,一个计数,这样太浪费资源了吧。我项目要采集两个地感线圈的频率,所以用两个定时器捕获,这儿只说一个定时器的方法,用的是定时器3通道2,下面是用捕获的方法计算频率:void Time3_Configuration(){ TIM_原创 2015-05-23 11:22:40 · 11951 阅读 · 2 评论 -
STM32 LWIP TCP 以太网调试注意问题
接上篇:STM32 LWIP TCP以太网传输数据电脑IP地址一定要和开发板的IP地址在一个网络内,例如开发板IP是:192.168.1.118,子网掩码:255.255.255.0,默认网关:192.168.1.1。需要断开电脑网络,连接网线,设置电脑IP地址为192.168.1.X(2-254), 子网掩码:255.255.255.0,默认网关:192.16...原创 2015-12-10 10:24:51 · 4766 阅读 · 0 评论 -
STM32 SPI DMA通信
调试STM32 SPI 通过DMA方式主从机通信,主机时钟和mosi信号波形都正常,出现从机接收数据出错的问题。这是因为DMA是直接内存读取数据,如果是主从机上电开始接收数据,数据接收不会出错。如果从机延迟接收数据或者说与主机时钟不同步会造成数据错位。如果谁有更好的办法控制DMA传输开关,可以一起交流学习。 这里只列举主机程序, 使能RCC时钟:/**********************原创 2016-01-30 14:03:15 · 5993 阅读 · 0 评论 -
KEIL工程编译出现Error command-line cannot open preprocessing output output file错误
KEIL工程编译出现flash.c: Error: command-line: #564: cannot open preprocessing output output file错误,原因有: 1.Option选项卡-Output选项-Select Folder For Objects输出文件夹出现了中文名,如下: 2.文件属性为只读。 解决办法:1.更改输出文件夹名称避免出现中文或者原创 2016-10-14 22:57:36 · 9538 阅读 · 0 评论 -
KEIL编译STM32程序出现test.sct(7)…
KEIL编译STM32程序出现test.sct(7): error: L6236E: Nosection matches selector - no section to be FIRST/LAST.其原因很简单,就是没有加载启动代码,其格式是.s形式。加载上就可以了,希望帮到新手。编译之后没有报错。更多技术文章浏览请关注:百家号:https://auth...原创 2015-03-31 20:01:48 · 2448 阅读 · 0 评论 -
现场升级方案:LPC1788采用U盘方式进行程序IAP升级功能的实现
现场升级方案:LPC1788采用U盘方式进行程序IAP升级功能的实现闲来无事,总结一下前段时间做过的U盘升级项目。一个新手的成长之路在于善于总结,生活也是一样扯远了,我准备了两个软件环境,一个带操作系统(UCOS)的,另一个裸机版的。随后我会附上两个程序代码。U盘升级可以分为两部分代码:U盘读取bin文件和IAP功能两部分。大概说一下实现过程,具体IAP网上都玩坏了。硬件环境:NXP...原创 2015-03-31 20:02:07 · 5262 阅读 · 0 评论 -
stm32 以太网 LWIP TFTP IAP 远程升级
一.综述 本文是基于STM32F107的LWIP协议栈通过TFTP的文件传输协议进行IAP程序升级。本例采用的PHY层芯片是DP83848,相当于物理层,STM32F107自带的MAC层相当于数据链路层,而LWIP协议栈提供的就是网络层、传输层的功能,应用层是需要我们自己根据自己想要的功能去实现的。升级程序由bootloader和APP两部分组成。将stm32 flash划分为两个分区,bootl原创 2016-11-19 10:27:06 · 19436 阅读 · 11 评论