1. J-Link驱动安装失败:USB口无法识别J-Link 设备

问题:设备管理器中查看USB接口显示BULK Interface异常,驱动无法安装(系统自动寻找驱动同样无法成功);同时在Keil、JFlash 等烧录软件中点击 LOAD 会报 "no j-link found" 的错误。

原因:我推测有的Keil版本安装时不会安装J-Link的驱动,因此计算机缺少驱动无法安装;当然也不否认可能是配置问题出错或是引脚连接失误的问题(笔者这里是因为驱动无法安装而报错)。


2. 看门狗watchDog程序

watch dog Timer 即WTD,是一种监测程序是否正常运行的手段,本质上是一种具有一个输入一个输出的定时器电路。

我们可以把运行代码、函数、功能理解为经过看门狗门前的人,看门狗所看管的地方理解为硬件输出电路(复位);

每几次经过门前使用硬件如果按照流程正常喂狗(将定时器置0),狗就不会叫(狗叫模块);

而如果长时间不喂狗(走不到置0部分,即程序死循环或调用异常),定时器超过一定时间就会向单片机复位键输入复位电平(狗叫),从而将程序回归到初始位置,以达到防止程序死机的目的。

 

3. 耦合和内聚的概念

耦合也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差;

通俗来说,即一个函数内不要调用太多别的类或者.c文件中的函数(JAVA即方法),否则这两个模块联系过于紧密会很难分离(比如不需要某一个功能时或者对一个功能进行修改)。

内聚:即内部聚集、关联的程度。举例:通俗来说一个高内聚的函数方法是简单明了的,一个方法就只解决一个功能;

通常来说高内聚低耦合是一起出现的,是一个优秀工程的衡量标准。

 

4. 移位运算符

左移:<<

举例:0001<<1 = 0010 即从1变成2,<<2 = 0100 即从1变成4,这种情况下可以当成翻倍运算。

00100100<<2==10010000