自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

unsv29的专栏

一个嵌入式软件工程师的流水账记录...

  • 博客(7)
  • 资源 (37)
  • 收藏
  • 关注

原创 STM32的can2和CAN1竟然有关联?!!!

调试STM32F107的CAN2竟然无法接收。通过与另一个代码对比,终于发现想用CAN2,则必须把CAN1的RCC也配置上,就可以接收了。上网查了下,21IC给解释http://bbs.21ic.com/icview-542674-1-1.html。手册也懒得看了,总之,CAN2和CAN1是有关联的。对于STM32F407可能也是如此。

2016-02-26 11:15:43 13509 2

原创 如何写易维护和不易维护的程序

前几天把代码给同事,新员工刚来一两年,说基本上看懂我的程序了。从这可以看出我的程序是多么的易懂,当然也可能新同事水平很高?亦或是这个程序本来很easy。事实是我那程序写的绝对的是一流的棒。那么如何写出像我这样棒的程序呢?1、相对好的命名2、清晰的划分3、清晰的文档大概就这三点了,好像真的是没有什么新意,都是老生常谈的说法,但事实就是如此。今天在知乎看了一个文章,说他写的

2016-02-24 15:00:16 1140

原创 关于LWIP的接收实时性问题

昨天年开始熟悉lwip:关于LWIP的接收,如果外面有乱七八糟的帧,不同IP的帧进来,而我只需要其中的一个或几个IP,那么裸奔的情况下,如果在while(1)里面接收,那么是不可以的。只有采用硬件过滤,比如MAC过滤(如果有这种过滤或类似的过滤),或者在中断irq里面接收,然后在while(1)里面把他取出来给应用层。这个问题是个值得关注的问题。

2016-02-19 10:32:59 2996

原创 关于2016年的初步规划

关于LUA的开发,在2015年已经弄了数月,没什么太大进展。一是没太多的例子。二是自己都不知道最后具体要弄成咋样。新的一年,新气象。今年目前还是要更实际一些。做的东西以后尽量要用上,这样才有更大的动力。因此具体学习内容如下:(1)CANOPEN(2)lwip & TRDP(3)简单os(4)关注相关技术公司技术动向与潮流(5)APP(6)自身修养与项目管理(7)

2016-02-16 10:00:39 607

原创 理解LUA的C API的最好的学习方法。

最好的方法就是我遇到的最好的方法,到目前为止。方法就是我昨天写的文章《programming in lua 之 lua api函数》里面提到的方法。http://blog.csdn.net/unsv29/article/details/50623305这是极其基础的知识,非常重要。即:搞个小例子,用stackDump函数打印出堆栈的内容。通过运行不同的api看看对堆栈都产生了哪

2016-02-03 09:09:38 564

原创 programming in lua 之 lua api函数

《programming in lua 》的第24章讲C语言的API函数。那么什么叫做lua解释器?书中的意思lua解释器就是除了lua脚本和lua库之外的C语言程序。lua脚本(由用户输入的字符串或文件组成)    lua解释器  lua库(比如V5.1.4版本的库)====================================================

2016-02-02 13:43:46 813

原创 关于编写通用API库的灵活、简洁与方便性之间的矛盾

今天读《LUA中文教程》第24章作者写关于C API的说道:“API 重点放在了灵活性和简洁性方面,有时候以牺牲方便实用为代价的。一般的任务可能需要涉及很多个 API 调用,这可能令人烦恼,但是他给你提供了对细节的全部控制的能力,比如错误处理,缓冲大小,和类似的问题。”我自己也编一套STM32的api关于kernel和方面的,给同事用的。用的很happy。效果不错。但是

2016-02-02 10:50:54 527

W5300勘误表.rar

W5300勘误表.rar

2023-09-18

STM32裸机版TCP客户端收发数据试验-基于lwip协议

这个例子讲的很清楚。

2023-08-10

STM32的TCP服务器收发数据试验

STM32的TCP服务器收发数据试验,用的LWIP协议,讲的比较清晰。

2023-08-10

STM32的lwip的TCP与RS485双向数据透明传输例子,是裸机的

感觉帮助不小,所以传上来。STM32的lwip的TCP与RS485双向数据透明传输例子,是裸机的。

2023-08-10

STM32F103 HAL入门

STM32F103 HAL入门

2023-03-05

CAN电路总结2.doc

CAN电路总结2.doc

2021-07-07

CAN电路总结.doc

CAN电路分析防浪涌静电等

2021-07-07

emqxKey-emqx配置的小例子

emqx配置的小例子

2021-03-11

startup_armv7-m.7z

Specifying stack and heap using the scatter file The ARM C library provides multiple implementations of the function __user_setup_stackheap(), and can select the correct one for you automatically from information given in a scatter file. To select the two region memory model, define two special execution regions in your scatter file named ARM_LIB_HEAP and ARM_LIB_STACK. Both regions have the EMPTY attribute. This causes the library to select the non-default implementation of __user_setup_stackheap() that uses the value of the symbols

2020-02-09

ARM系列处理器应用技术完全手册.pdf

最近研究ARM的底层 汇编 以及分散加载等知识,感觉这本书可以作为参考,分享给大家。。。。 希望给需要的人一点帮助吧 希望能用得上

2020-02-05

ARM V7 体系结构参考手册-英文.7z

ARMv7-M Architecture Reference Manual Copyright © 2006-2008, 2010 ARM Limited. All rights reserved. Release Information The following changes have been made to this document.

2020-02-05

从零开始使用CubeMX创建以太网工程.7z

在前面一篇文章中,介绍了如何使用 CubeMX来建立一个简单的 TCPEchoserver工程。但是在新建 CubeMX项目时,是通 过直接选择 ST的开发板的方式实现的。对于大多数实际的开发场景,可能并不是在 ST的开发板上进行的,所以在这篇文章 中,我将介绍如何从零开始建立一个以太网工程。 今年 ST推出的 Nucleo-144板子上集成了以太网接口

2020-02-05

周立功单片机:分散加载文件浅释.pdf

有时候用户希望将不同代码放在不同存储空间,也就是通过编译器生成的映像文件需要 包含多个域,每个域在加载和运行时可以有不同的地址。要生成这样的映像文件,必须通过 某种方式告知编译器相关的地址映射关系 2 基础知识 2.1 基本概念 要了解分散加载文件前首先需要对以下各个概念进行了解,可参考程序清单2.1。  Code:为程序代码部分;  RO-Data:表示程序定义的

2020-02-05

STM32简单工程-分析启动代码-最终为分析分散加载工程.7z

搞了一个STM32最简单的工程来分析启动代码,这是分析分散加载之前必要的做的。 文章https://blog.csdn.net/unsv29/article/details/104150330

2020-02-02

CAN总线位定时和同步的研究与设计.pdf

CAN总线位定时和同步的研究与设计.pdf 网上找的资料哈 感觉还行 不负责版权哈

2018-05-15

CAN-bus_网络拓扑结构和传输介质.pdf

CAN-bus_网络拓扑结构和传输介质 对传输介质进行介绍 网上找的 不负责版权哈

2018-05-15

stm32 自检程序

STM32 自检程序 自检作为启动前的重要准备工作 可以作为安全产品的参考资料

2018-05-15

VB6 串口双机 通信 mscomm

一个VB6的 mscomm 通信例子 有需要的可以看看 希望不会失望

2018-05-12

VB6 绘制曲线

找了好久 分享一个不错的资源 需要的可以试试看 希望不会失望

2018-05-12

VB6 自动缩放窗体内控件

VB6 自动缩放窗体内控件 这个我在网上找了好久 终于找到一个不错的 分享出来

2018-05-12

micropython-1.3.6 源代码

MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems

2017-11-12

micropython-1.2.zip源代码

MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems 含有STM32等例子

2017-11-12

基于RT-Thread的 STM32F103的FPT服务器 源码

找了好久才找的 stm32的FTP简单例子,注释清晰,感觉是比较好的例子。 可以作为FTP入门。

2017-10-25

Python网络数据采集英文 完整清晰版

python应用范围很广。 Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。 这里提供高清完整PDF版本。

2017-10-25

STM32源程序大全

STM32F 源程序 简单例子 里面有30个例子。 对初学者肯定有帮助。 注释很清晰哦~

2017-10-22

STM32F4 I2C通信例子 例程

简洁清晰的例程: /*********************************************************************** º¯ÊýÃû³Æ£ºI2C_Test(void) ¹¦ ÄÜ£º²âÊÔEEPROM ÊäÈë²ÎÊý£º Êä³ö²ÎÊý£º ±àдʱ¼ä£º2012.11.22 ±à д ÈË£º ×¢ Ò⣺ÏÈÏòEEPROMдָ¶¨Êý¾Ý£¬È»ºóÔÙ¶Á³öÀ´£¬×îºóͨ¹ýRS232·¢Ë͵½µçÄÔÉÏ£¬ ÒÔÑéÖ¤¶ÁдÊÇ·ñÕýÈ· ***********************************************************************/ void I2C_Test(void) { unsigned int i = 0; unsigned char WriteBuffer[256]; unsigned char ReadBuffer[256]; for(i = 0;i < 256;i ++)//³õʼ»¯´ýдÊý¾ÝÇø { WriteBuffer[i] = i; } I2C_Write(I2C1,ADDR_24LC02,0,WriteBuffer,sizeof(WriteBuffer)); //ÏòEEPROMдÊý¾Ý I2C_Read(I2C1,ADDR_24LC02,0,ReadBuffer,sizeof(WriteBuffer)); //ÏòEEPROM¶ÁÊý¾Ý RS232_Send_Data(ReadBuffer,256); //ͨRS232½«¶Áµ½µÄÊý¾Ý·¢³öÈ¥ }

2017-10-22

STM32F4 的CAN1 CAN2 双CAN收发例子

最简单清晰的例子,主架构如下: int main(void) { /* ST固件库中的启动文件已经执行了 SystemInit() 函数,该函数在 system_stm32f4xx.c 文件,主要功能是 配置CPU系统的时钟,内部Flash访问时序,配置FSMC用于外部SRAM等。 */ NVIC_Configuration(); CAN1_Configuration(); CAN2_Configuration(); while(1) { if(can1_rec_flag == 1) //如果CAN1接收到了一帧数据 { can1_rec_flag = 0; CAN1_WriteData(0x18412345); //以ID为 0x18412345向CAN上发送数据 } if(can2_rec_flag == 1) //如果CAN1接收到了一帧数据 { can2_rec_flag = 0; CAN2_WriteData(0x18412345); //以ID为 0x18412345向CAN上发送数据 } } }

2017-10-22

STM32F4 的16通道ADC采集例程

STM32F4 的16通道ADC采集例程,注释清晰, /**************************************************************************** PCLK2 = HCLK / 2 下面选择的是2分频 ADCCLK = PCLK2 /8 = HCLK / 8 = 168 / 8 = 21M ADC采样频率: Sampling Time + Conversion Time = 480 + 12 cycles = 492cyc Conversion Time = 21MHz / 492cyc = 42.6ksps. *****************************************************************************/ /* ADC Common 配置 ----------------------------------------------------------*/ ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent; ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div2; ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled; ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles; ADC_CommonInit(&ADC;_CommonInitStructure);

2017-10-22

RTX_STM32F1 +os

网上搜到的资源 还可以 分享出来

2016-03-11

uCOS-II-V2.91 MDK STM32

uCOS-II-V2.91 是个很稳定的代码。用于SMT32的开发。获得相关认证。

2016-03-11

STM32F+ RT-Thread工程源码实验

STM32F+ RT-Thread工程源码实验 经验证可以连续稳定运行,希望物有所值,贡献出来

2016-03-11

CooCox STM32 OS

CooCox STM32 OS 适合于入门人员 解释较为详细

2016-03-11

rtx_stm32_mdk

rtx_stm32_mdk, 适用于STM32芯片, 属于入门资料,可通过软仿真运行起来。增强开发者的信心

2016-03-11

基于Lua脚本语言的嵌入式UART通信方案设计

基于Lua脚本语言的嵌入式UART通信方案设计

2016-01-22

Keil的关键字using与寄存器组的切换

早年学习单片机的时候,自己总结的using关键字的应用。现在尽管编程用不到这个关键字,但是了解一下还是很有好处的

2016-01-21

LUA基础教程

这本书的第六章名字叫做“脚本,用还是不用” 讲述了脚本的使用的意义? 脚本的简单实例 脚本的堆栈 总之是重要而基础的知识。 很有价值 国外作者不糊弄

2015-12-02

CANopen协议栈源代码和说明文件

MODULE: MAIN - canopen Encoder CONTAINS: CANopen encoder implementation COPYRIGHT: Embedded Systems Academy, Inc. 2003. All rights reserved. www.canopen.com This software was written in accordance to the guidelines at www.esacademy.com/software/softwarestyleguide.pdf DISCLAIM: Read and understand our disclaimer before using this code! www.esacademy.com/disclaim.htm LICENSE: Users that have purchased a license for PCANopenMagic may use this code in commercial projects. Otherwise only educational use is acceptable. VERSION: 1.00, Pf/Aa/Ck 28-MAY-03

2012-11-30

CAN错误计数规则

CAN2.0B(Active)规范的错误计数器的计数规则 CAN 控制器错误处理 各种CAN错误帧的描述 CAN错误帧界定

2012-01-05

LCD12864 源码 和 仿真proteus(本人原创)

/************************ 作者:Steven Lian 完成时间:2009Feb24 程序功能: 见Proteus仿真效果 程序说明:本程序在仿真软件Proteus上通过! 若要在实际硬件上运行,部分参数可能要修改! *******************************/ /* -------------------------------------------- 作者邮箱:lch_29@163.com QQ:33002609 如若对本工程进行转发,请勿对本程序进行任何的修改! 多谢尊重本人劳动成果............. 声明:由于作者早期学单片机水平特别有限,因此本程序很多地方处理可能不够合理。 如阅读本程序对您造成心情不愉快,本作者不负任何法律或民事责任。 本程序作者允许将本程序用于商业以外的目的。特别是对初学者建立学习的信心之用!!!!! 如若对本工程进行转发,请勿对本程序进行任何的修改,否则就是侵犯了作者的知识产权!! 请在阅读本程序24小时之内将本程序删除,保护作者的版权............................. ----------------- 2011.MAY.05.19 */

2011-06-08

51波特率初值计算----------让你计算不出错

51波特率初值计算 用于计算波特率 很方便 关键是自己算可能算错啊

2010-04-12

空空如也

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

TA关注的人

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