单片机检测stc没反应_我为什么不用STC单片机

写在2019.10.27

这属于自己打自己脸,不过,我突然想试试 STC15W108.

理由可能有点操蛋,因为STM8S没有 DFN8这样 3x3的封装,而PIC的仿真器太贵。


我最后感兴趣的一个STC型号是 STC15F的8脚系列,那是在2010年,然而也正是这次感兴趣,让我最后完全丧失了对STC单片机的兴趣。

当然,倒不是出于别的忌讳,我单纯是觉得,不应该嚼舌头,即使对于一个品牌也应该尽量少。所以一直以来,我都是说——

我,是不用STC单片机的,对这款单片机我也不予置评。

不过,我最近忽然想说一说。

我为什么不用呢?

说起来,原因倒不是因为我觉得它的PDF奇葩冠绝全球datasheet。

我从来没见过一款芯片的手册可以用来打广告打地这么赤裸裸并且无耻的,真的,前无古人后无来者。

但其实对这种事情,我会吐槽,会嘲笑,却仍然不至于沦落到不用的地步。

真正让我下决心不用的有两件事。

第一件事:它的时序和执行周期混乱不统一,而且,混乱也就罢了,IO口的输出时序也乱七八糟。

大家都知道传统8051——代表机型:ATMEL的AT89S系列。

它的各种指令的执行周期都是严格按照标准51时序的,标准到和教科书上教的一模一样,尽管吧,51的指令周期有点长,并且是12个机器周期,一直被吐槽慢。

但慢归慢,标准化一就是好。

事实上,我对AT89S的印象之所以如此好,正由于当时,我用一个逻辑分析仪抓过IO口时序。

那是我用汇编指令写的IO口翻转程序。

我在逻辑分析仪里看到的波形是完完全全,百分之一百按照我的代码走的,简直堪称完美

——这个实验结果,让我对AT89S的信任无与伦比,同时也让我相信这个逻辑分析仪是靠得住的。

然而当我用STC的单片机去写的时候——当时我用的型号应该是 什么A06S之类的。

我知道STC的执行周期和AT不一样,我也知道它每一款都可能有所不同。

所以我专门针对A06S的datasheet编写同样的汇编程序,为了避免出错,我把IO的翻转频率控制到和刚刚测试AT的时候一样低。

然而,我看到的波形却是混乱不堪,完全对不上。

甚至,同一个执行,前后都不一样。

我当时的第一反应是,也许指令本身没问题,但是IO口的速度有问题,所以在逻辑分析仪下,看到的就乱套了。

这个小实验,让我对STC的电气性能一点信心都没有。

但让我真正完全放弃的,是2010年春节,我当时对8脚的STC15F很感兴趣,因为当时我看到PIC有6脚,有8脚的uC。

于是我开始找这款片子。

当时我在网上看到,这款片子分A B系列,所谓A B系列不过是出货时间有前后的两批货。

网上流传,A这批货有不少问题。STC真的经常出一些很脑残的问题,什么某个寄存器的设置对不上(比如很直观的,通常分频设置,01如果是2分频,02当然就是4分频,03是8分频,然而它的顺序乱了,也许06才是8分频,04却是2分频)

于是我满心等待B这个批次出来。

网上姚老板信誓旦旦说,等次年(2011年)3月就能供货了。

实际上,到那年的四五月份我都没看到。

到了后来我忘了是什么时候,才看到这批货。

所以我当时对STC彻底没了兴趣——因为它的供货很不靠谱。

姚老板本人的言行和PDF一个德行——事实上,听说这人就经常跟洗脑的邪教教主一样的鼓吹自己的产品。


但是,我也没想到,不管如何,这个片子凭着极高的性价比依然十分流行。

今天我在公司调一个供应商给我的摄像头,结果他们似乎要更新固件——也不全怪他们,他们以前给我们供过针对我们自有协议的产品。

但现在似乎这个协议出了些问题,所以他们决定,回归到他们的公版协议,这一块我也不介意。

然后我才发现他们用的芯片居然是STC。

尽管后来事情搞定了,但我心里还是有疙瘩——居然用STC!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397006.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

commons-pool

commons-pool组件是使用对象池时都要用到的。他的作用主要是管理对象池, 当我们要用这个组件时(比如redis要用到时),只需要实现它的部分接口,比如PooledObjectFactory接口,实现它的创建对象,销毁…

JAVA中CyclLink怎么用_Java多线程基本使用一

1 多线程--初步【1进程比如:QQ、迅雷、360、飞秋...2线程的概念3线程的意义:4.Java程序的运行原理代码是运行在线程中的,如果一个进程没有线程,那么进程就结束了,也就是说一个进程至少要有一个线程当开启一个Java…

指针分析

int *a; int b 4; a &b; //a:b的地址 //*a 取b地址的值,为4 //&a为指针变量的地址 //*(&a)为指针变量储存的地址 即为a int **b &a; //b为指针变量a的地址 //*b为指针变量a所储存的地址 //改变*b(指针变量所储存的地址)即改变了*b的值转载于:http…

live server插件怎么用_分享几个我日常使用的VS Code插件

在这篇文章中,我想介绍一下自己日常使用中最喜欢的Visual Studio Code扩展。大多数时候,我用VS Code编写的是JavaScript应用程序(标准JavaScript、React、Angular、NodeJS……各式各样)。Bracket Pair Colorizer 2这个扩展很不错,可以帮助我搞…

Xtrabackup数据全备份与快速搭建从服务器

Percona Xtrabackup可以说是一个完美的数据备份工具。特别是当数据库的容量达到了一定数量级的时候且存在单表达到几十G的数据量, 很难容忍一些逻辑备份的漫长时间。如单个数据库约200G,单表最大为120G,mysqldump逻辑备份的时间长达20多小时。…

简单的java方法_Java简单实用方法一

整理以前的笔记,在学习Java时候,经常会用到一些方法。虽然简单但是经常使用。因此做成笔记,方便以后查阅这篇博文先说明构造和使用这些方法。1,判断String类型数据是否为空String类型的数据为空,主要为等于null或”“那么只要判断…

Android应用程序开发

第一章 Android应用初体验 1.1应用基础 activity是Android SDK中Activity类的一个具体实例,负责管理用户与信息屏的交互。 应用的功能是通过编写一个个Activity子类来实现的。 布局定义了一系列用户界面对象以及它们显示在屏幕上的位置。组成布局的定义保存在XML文件…

phonegap

phonegap 框架详解 转自:http://www.cnblogs.com/hubcarl/p/4216844.html首先, 来看一下phonegap 初始化流程以及Native 与 JS 交互流程图。 说明:socket server模式下, phonegap.js 源码实现的采用1 毫秒执行一次XHR请求, 当Native JS 队列里面有JS语…

j2ee核心模式_Operator和Sidecar正在成为软件交付新模式

现如今的开发人员希望可以开发出具备弹性和可扩展的分布式系统。该系统受益于软件复用和开源模型创新,针对安全性问题能够轻易完成补丁更新并进行低风险的升级。该系统不可能通过带有各种嵌入式语言库的应用程序框架来实现。最近,一篇关于“多运行时微服…

微信JS-SDK选择相册或拍照并上传PHP实现

理解:微信上传接口是拍照,或者选择本地照片,上传到微信的服务器,获取到一个id,通过token与这个id获取到图片,保存到服务器即可。 效果 通过微信js接口,调用底层程序。 需要引入js文件&#xff0…

JMS-ActiveMQ学习-3 ActiveMQ与Spring集成

Spring下开发消息的发送和接收程序 点对点模式 一、创建生产者项目 1.创建maven项目 2.添加spring-jms、jms规范、activemq依赖 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms&…

看libevent所遇到的英语生词

libevent – an event notification library The libevent API &#xff08;libevent应用程序&#xff09;provides a mechanism&#xff08;机制&#xff09; to execute&#xff08;执行&#xff09; a callback function&#xff08;回调函数&#xff09; when a specific&a…

java中迭代器要导包吗_java 中迭代器的使用方法详解

java 中迭代器的使用方法详解前言&#xff1a;迭代器模式将一个集合给封装起来&#xff0c;主要是为用户提供了一种遍历其内部元素的方式。迭代器模式有两个优点&#xff1a;①提供给用户一个遍历的方式&#xff0c;而没有暴露其内部实现细节&#xff1b;②把元素之间游走的责任…

android socket 长连接_TCP/IP,http,socket,长连接,短连接

点击上方蓝色字体&#xff0c;选择“标星公众号”优质文章&#xff0c;第一时间送达上一篇&#xff1a;这300G的Java资料是我师傅当年给我的&#xff0c;免费分享给大家下一篇&#xff1a;这200G的Java实战资料是我师傅当年教我的第二招作者 | ksfzhaohui来源 | my.oschina.net…

二、Python安装扩展库

第一步:推荐easy_install工具 下载地址:https://pypi.python.org/pypi/setuptools 下载"ez_setup.py"文件; 通过运行cmd命令找到ez_setup.py文件所在目录,通过命令[python ez_setup.py]执行安装easy_install 安装成功截图 第二步:安装扩展酷 例如安装"suds"…

ORACLE 10.2.01升级10.2.05 for windows 详细文档

最近要做一个数据库的升级工作&#xff0c;提前在自己的PC机上练习了一下&#xff0c;这种文档在网上很多&#xff0c;但是大多都是使用命令编辑脚本&#xff0c;其实数据库还有一个DBUA的升级工具可以使用&#xff0c;使升级工作方便了很多。 OS环境&#xff1a;windows XP 32…

php 导出mysql 结构_导出结构和数据(如phpmyadmin)

在这里,您可以找到一个全面的解决方案来转储MySQL结构和数据,比如在PMA中(不使用exec、passthru等):它是Dszymczuk项目的一个分支,有我的增强功能。用法很简单//MySQL connection parameters$dbhost localhost;$dbuser dbuser;$dbpsw pass;$dbname dbname;//Connects to my…

tableViewCell的操作

在iOS的开发过程中&#xff0c;tableView的使用永远都是最常用的控件。今天学习了一下tableViewCell的操作。代码并不是很复杂&#xff0c;如果有OC开发经验的人&#xff0c;应该很容易看懂的。 class ViewController: UIViewController ,UITableViewDelegate, UITableViewData…

stm32正交编码器 原理图_恶劣环境下应用的电感式增量编码器和绝对编码器

编码器可分为两种基本类型 - 增量编码器和绝对编码器。增量编码器的显着特征是它报告角度的变化。换句话说&#xff0c;当增量编码器通电时&#xff0c;它不会报告其角位置&#xff0c;直到它具有测量的参考点。绝对编码器明确地在比例或范围内报告其位置。换句话说&#xff0c…

【SqlServer】Sqlserver中的DOS命令操作

输入osql ?查看是否支持当前版本&#xff0c;如果是SQL Server 2005以上用Sqlcmd , 以下用Osql连接数据库&#xff08;a&#xff09;Osql -S localhost -U username -P password(SQL Server身份验证&#xff0c;需要用户民和密码)&#xff08;b&#xff09;Osql -S localhos…