自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 Simulink自动生成嵌入式代码体验

Matlab版本:MatlabR2016b开发板:AC7811QBFE开发板直接上模型(Motorola_Creat_Signal模块为自定义模块用于解析Motorola格式的CAN报文,模块内部根据StartBit进入不同的分支再结合Length、Factor进行移位等算术运算):模型的功能:从底层输入Test_Msg报文,解析后将结果输出给底层。CAN报文的DBC文件如下:首先配置Simulink的解算器Solver选择定步长(基础采样时间设置为0.1S)解算器算法选用离散算法。再配

2022-07-13 22:07:22 769

原创 CRC16_Modubus校验算法

最近工作学习到Modbus、Ymodem等协议,均涉及到CRC16校验算法,故而有必要深入了解CRC16校验算法的原理。以CRC16_Modbus为例:结果:51925 = 0xCAD5CRC16_Modbus传输时先传输CRC16的低字节再传输高字节。留下的疑问:采用注释区两个while循环嵌套的写法得到的结果与两个for循环嵌套的写法不同,还望高人指点。......

2022-06-20 14:37:47 1237

原创 树莓派Pico开发----流水灯

最近参加工作一直在和C、C#打交道,一年多前自学的Python似乎都无用武之地,偶然看到树莓派Pico(双核Cortex-M0+)支持MicroPython,而且价格也只有4$,树莓派基金会还提供了一个非常详细的Python SDK PDF文档(该文档详细介绍了各种内置的函数及对应函数的具体用法和提供的案例说明)。基于以上(真香)因素入手了一块Raspberry Pi Pico开发板。首先准备以下文件:将Pico通过USB连接到电脑后会出现一个名为RPI-RP2的U盘,将uf2文件拷贝进去即可完成烧入

2022-06-06 22:37:18 1237

原创 从MCU上电启动流程出发编写bootloader(中)

上文已经分析了MCU上电的启动流程。本文尝试编写一个简单的bootloader以及一个实现CAN通信的APP,为我们下一步尝试编写一个通过CAN通信实现刷写APP功能的bootloader作铺垫。下面直接上干货。看一下bootloader工程的结构,非常的简单,实现代码也非常简单。main.h#ifndef _MAIN_H#define _MAIN_H#define APPLICATION_ADDRESS (uint32_t)0x08004000//APP工程的起始地址typedef

2022-05-29 09:46:59 1091 1

原创 从MCU上电启动流程出发编写bootloader(上)

配置开发板的BOOT,从EFLASH(即片内Flash存储器)启动。在KEIL中也需要进行相应的设置,将接下来要编写的bootloader烧写至EFLASH(bootloader段需要设置从0x8000000开始,空间根据bootloader大小分配)。我们将bootloader程序反汇编可以查看EFLASH分配占用情况。结合startup_ac78xx.s启动文件来分析MCU上电的启动流程。__Vectors DCD __initial_sp .

2022-05-28 21:29:24 2043

原创 I.MX6ULL裸机开发----点亮LED

开发板:正点原子 i.mx6ull mini板I.MX6ULL是基于Cortex-A7内核的,支持运行Linux操作系统。参考资料:【正点原子】《I.MX6ULL嵌入式Linux驱动开发指南》开发用到的交叉编译工具与S3C2440一致,只不过程序是借助正点原子的imxdownload可执行程序烧录到TF卡上,不需要使用J-LINK进行NOR FLASH的烧写。开发板LED0的电路原理图如下:首先了解下I.MX6ULL的GPIO的相关寄存器。参考:《IMX6ULL参考手册》用于GPIO1_

2022-05-24 19:37:57 743

原创 S3C2440裸机开发----点亮LED

开发板:FriendlyARM Micro2440标准版S3C2440是基于ARM9内核的,包含MMU(内存管理单元),支持运行Linux操作系统。首先列出参考资料:韦东山老师的《嵌入式Linux应用开发完全手册》。本文对环境的搭建不多赘述(按照韦东山老师的书来),重点提出作者遇到的问题以及解决办法,希望可以帮助到遇到类似问题的朋友。遇到的问题:交叉编译工具arm-linux-gcc无法使用原因:随书附赠光盘中的arm-linux-gcc可执行程序是32位,而作者安装的Ubuntu19.04是64

2022-05-09 22:43:40 670

原创 STM32单片机开发----GPIO(General-purpose Input Output)通用IO口

一、GPIO的相关配置寄存器1.CRL端口配置低寄存器&CRH端口配置高寄存器(均为32位)一组GPIO有16个GPIO口(例如GPIOA简称PA,有PA0-PA15这16个GPIO口)一个GPIO口由4个bit位配置分别是MODE[1:0]和CNF[1:0],所以一组GPIO就需要4*16=64bit位去配置,这正好对应我们的CRL和CRH寄存器。PA0-PA7由CRL配置,PA8-PA15由CRH配置。以PA0为例对应MODE0[1:0] CNF0[1:0]MODE[1:0]用于设

2022-02-23 12:16:18 813

原创 51单片机开发----点亮8*8点阵的1行1列的LED

从开发板直观地看到这个模块用到的元器件:有8*8的点阵,一片74HC595芯片(对应图上U6)。查看开发原理图。光看到封装是不够的,进一步看内部电路设计是怎样的,当然还有74HC595的使用手册也是要看的。到此处我们知道行是由74HC595的输出控制且1(高电平)有效,此外列是由单片机的P0口控制的且0(低电平)有效。只有当第一行第一列同时有效时,第一个LED灯才会被点亮。接下来主要就是了解74HC595的使用了。74HC595中文手册功能(用处):8 位串行输入/输出或者并行输出移位寄存

2021-03-30 14:56:10 1601 1

原创 Spring简单开发

Java EE Spring 简单实例在src目录下创建applicationContext.xml文件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/

2021-01-22 18:07:59 103 1

原创 Spring-MVC简单开发

Java EE Spring-MVC 简单实例1)在web.xml文件中部署DispatcherServlet<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://

2021-01-17 23:36:48 141 1

原创 MyBatis简单开发

JavaEE MyBatis简单实例需要导入的jar包(数据库驱动注意和自己的MySQL版本对应)新建数据库(注意将id设置为主键并设置为自增)CREATE TABLE `account`.`info` ( `username` VARCHAR(20) NOT NULL, `password` VARCHAR(45) NULL, `id` INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`));Account实体类package ent

2021-01-15 17:30:10 119

原创 Struts2简单开发

JavaEE Struts2简单应用struts.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts>

2021-01-15 16:06:34 87

原创 Servlet简单开发

Java Servlet简单应用

2021-01-14 18:41:54 118 1

原创 Python3列表常用操作

测试环境为:IOS系统下的Python AI# 建立一个空列表lists = [] lists.append('a')lists.append('b')lists.append('c')# 遍历列表for value in lists: print(value)# 访问倒数第一个元素 注意Python列表下标支持负数!print("倒数第一个元素为:"+lists[-1])# 拷贝列表的引用new_lists_0 = listsnew_lists_0[0] = '0'print

2020-09-28 22:41:59 134

原创 Python3构造方法多态性的实现

Python3中涉及类的继承时,利用可选实参实现__init__方法的多态性class TestDefault(): def __init__(self, username, password=''): self.username=username if password == '': self.password='********' else: self.password=password

2020-09-23 22:11:16 593

空空如也

空空如也

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

TA关注的人

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