
单片机
文章平均质量分 62
我家大宝最可爱
这个作者很懒,什么都没留下…
展开
-
百万并发web服务器-简单的服务器
我们再本地实现了一个商品查询的服务,输入query,返回与之相关的商品。现在的问题是,如何搭建一个服务器,将这个服务提供给客户使用。一种最简单的方式就是使用socket实现一个服务器。Socket编程步骤使用c++来实现一个服务器接着实现一个客户端对于第一次使用socket编程来说,有太多不知道的东西了,一点一点梳理整个流程,对于服务端来说。原创 2024-04-28 23:34:15 · 783 阅读 · 0 评论 -
esp32+micropython蓝牙讲解
数字 M的四位表示 UUID 版本,当前规范有5个版本,M可选值为1, 2, 3, 4, 5。这5个版本使用不同算法,利用不同的信息来产生UUID,各版本有各自优势,适用于不同情景。UUID是一个 128 位无符号整数,通常使用十六进制字符串来表示,以连字号分隔的五组来显示,形式为 8-4-4-4-12,总共有 36个字符(即三十二个英数字母和四个连字号)。数字 N的一至四个最高有效位表示 UUID 变体( variant ),有固定的两位10xx因此只可能取值8, 9, a, b。原创 2023-10-06 20:56:08 · 9268 阅读 · 5 评论 -
单片机学习:DSP28335-ePWM
#include "DSP28x_Project.h"// Configure the period for each timer#define EPWM1_TIMER_TBPRD 3750 // Period register 系统始终为150MHZ,下面的程序进行了4分频,即为37.5MHZ,这样得到的是10KHZ#define EPWM1_START_CMPA 1900//设置P原创 2016-01-12 20:29:44 · 13676 阅读 · 1 评论 -
单片机学习:CCS6 创建新工程
1.首先点击project->New CCS Project 2.选择器件和创建工程名 3.找到要用的头文件 复制到新建工程的目录 此时CCS会自动将新添的文件加到项目浏览器中 4.编译,然后发现好多错误。。。。 不能打开头文件,这是因为还没有将头文件添加到工程里面,项目浏览器只是将文件显示出来了而已。 5.右键项目,打开属性 6.选择dir to inclu原创 2016-04-05 12:52:34 · 17339 阅读 · 3 评论 -
单片机学习:Q格式数
Q格式问题 什么是Q格式数? 比如_iq var = _IQ(0.1);_iq multi = _IQmpy(1 * _IQ(1));为什么有Q格式? 将小数(应该说是浮点数)化成整数,目的是为了加快运算速度,可以百度Q格式数的原理。如何使用Q格式计算 既然是将小数化成整数,那么肯定是要乘上某个值,让小数变成整数typedef long _iq; /* Fixed point data t原创 2016-04-09 00:34:44 · 28119 阅读 · 7 评论 -
单片机学习:dq坐标系
直流电机磁场下面是直流电机(可以看看自己的电动小马达内部)的磁场分布 我们可以看到,直流电机的磁场有励磁磁场和电枢磁场。其中上下两块磁体产生励磁磁场,方向从N->S。还有一个与励磁磁场垂直的电枢磁场。图中表明了方向(可以用右手定则来判断磁场方向,x是电流流入的方向,o是电流流出的方向,最后可以判断出磁场方向从左向右)。如果两片电枢的的轴线不是和励磁磁场垂直,那么励磁磁场和电枢磁场也会有一个夹角原创 2016-04-09 18:44:01 · 59241 阅读 · 13 评论 -
单片机学习:DSP-GPIO
F28335将88个GPIO口分成3个部分。A ---- GPIO0~GPIO31B ---- GPIO32~GPIO63C ---- GPIO64~GPIO87所以当我们配置引脚的时候看到GPA,GPB,GPC等等,其实就是对应的是某个端口组。 既然说到配置,那就看看GPIO口如何配置。每个GPIO口都会对应着寄存器,改变寄存器的值就会改变GPIO口的配置。主要的寄存器有这几个端口复用寄存器原创 2016-04-11 18:04:18 · 2661 阅读 · 1 评论 -
单片机学习:DSP-ADC
F28335内部集成了一块ADC转换模块。核心是一个12位精度的模数转换器。ADC模块一般都是非常昂贵的,但是有时候我们必须要转换好几个信号,可是这样就需要接多个模数芯片,这样是非常昂贵的,所以一般都是采用分时复用。在F28335中通过多时复用产生了16个输入通道。只有一个转换器肯定不可能同时进行16路转换,此时就是时间换资源,并且在内部还有两个采样保持器,这两个采样保持器肯定也不可能同转换,也是分原创 2016-04-11 21:31:13 · 5162 阅读 · 0 评论 -
esp8266充当AP
安装驱动最开始得就是更新驱动了,我这里使用的是windows系统,然后esp8266开发板上的串口是ch340,因此需要先下载一个驱动。网上找吧,每个人的都不太一样。更新固件然后是更新esp8266的固件,固件的下载地址是MicroPython,然后esp8266的固件Firmware for Generic ESP8266 module,根据自己的大小选择固件包。我们需要先擦除flash得内容,这里使用得是python的一个包,因为后面会使用micropython进行开发,所以直接用了python原创 2020-08-23 23:00:24 · 1517 阅读 · 0 评论 -
单片机学习:lwip-udp
UDP编程虽然不难,但是有很多不懂得地方。 第一个就是UDP的块,udp_pcb主要是记录udp的信息,如本地IP,端口号,远程IP,远程端口号,recv函数,和自定义参数args。 一个程序中一般有多个控制块,这些控制块通过next指针连接在一起,但接收到一个数据块时就会遍历这些udp_pcb控制块,找到符合的控制块,接着调用recv中的回调函数进行处理。第二个就是一些操作函数。第一个就是原创 2016-07-21 21:06:06 · 2773 阅读 · 0 评论 -
单片机学习:MSP430中断
第一,MSP430中断的优先级。MSP430支持中断优先级,但是优先级的高低怎么获知呢?它的用手手册上有个很有意思的说法,我原文引用过来“The nearer amodule is to the CPU/NMIRS, the higher thepriority”,翻译过来就是说离CPU/NMIRS越近,优先级就越高。那我们怎么知道那个模块离CPU近啊,看datasheet给的框图?总觉得这不可能让原创 2016-08-01 11:08:46 · 3593 阅读 · 0 评论 -
单片机学习:STM32启动文件
;******************** (C) COPYRIGHT 2011 STMicroelectronics ********************;* File Name : startup_stm32f10x_hd.s;* Author : MCD Application Team;* Version : V3.5原创 2016-07-22 15:16:33 · 1152 阅读 · 0 评论 -
单片机学习:手把手教你移植LWIP(ENC28J60)
这里只是移植,所以LWIP那么多的协议都不需要管,只要知道哪里需要我们修改,为什么修改就可以了。 上图就是整个移植的基本思路,非常清晰的三个层次。其实想想,本质上就是收发数据,只是LWIP协议通过对数据的封装可以实现网络传输。从图中我们就可以看到这里首先需要ENC28J60的驱动,这个驱动需要实现数据的收发,驱动可以在网上找一个。其次就是要移植并修改LWIP协议了。移植 1.下载LWIP1.原创 2016-07-11 15:00:38 · 27818 阅读 · 0 评论 -
单片机学习:51单片机-定时器/计数器
定时器顾名思义就是设定一段时间,这段时间到了之后可以触发中断,在中断中处理我们的任务。定时器还有一个功能就是计数,每次一个出发定时器内部的TH.TL就会加一,如果加满了就会产生溢出中断。那如何控制定时器呢? 第一个是模式寄存器TMOD gate T/C M1 M0 gate T/C原创 2016-05-26 15:48:00 · 9863 阅读 · 0 评论 -
单片机学习:51单片机warning和error
今天遇到一个error,非常的痛苦,keil无法定位只给error。*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: SMALLCHARS MODULE: .\Objects\lcd5110.obj (LCD5110)SMALLCHARS是定义的字库,单独定义在ziku.h文件中code unsigned char SmallCh原创 2016-04-29 16:49:56 · 2840 阅读 · 0 评论 -
单片机学习:USB转串口
我们平时用开发板学习串口的时候直接就是一条线插到USB中,然后通过上位机就和单片机开始通信了。对纯写软件的人来说一定会很奇怪,串口明明是两条线为什么我们直接用USB就可以了呢?刚开始我也是这样的,因为只是看了串口的代码,但是对串口这个硬件的东西完全不了解,今天来扫盲。 先来说说TTL电平和232电平这两个东西。 TTL电平:一般用作数字芯片的电平,例如芯片的供电电压是5V,那么高电平就是5V,低原创 2016-03-25 18:03:26 · 4444 阅读 · 1 评论 -
单片机学习:程序启动与运行
当我们给单片机或者PC上电,程序就直接开始执行了,上电一瞬间单片机的内存中没有程序,无法控制PC的指向,那么单片机是如何知道程序在哪里,然后开始执行呢?其实很简单,既然软件无法执行,那么就用硬件来执行,单片机的工程师将单片机设计为一上电就将单片机的PC指向某个地址,这个地址就是程序的第一个指令,然后就会依序执行。原创 2016-03-31 22:25:25 · 3518 阅读 · 0 评论