(132)使用赛元SC92F7445B芯片,UART连续发送32bit数据会死机,是什么原因?
答:检测程序是否是发送完32bit后没有启动下一次发送,导致的死机误判。
(133)使用赛元SC92F7545芯片,仿真不了,是什么原因?
答:检测仿真设置是否正确;检查连线是否正确;烧录口是否有连接其他东西。
(134)使用赛元SC92F8003芯片,降低主频,会影响指令运算周期吗?
答:降低主频,指令周期的个数不变,但是每条指令执行的时间变长了。
(135)使用赛元SCW8916B芯片,MTTF测试标准是多少?
答:芯片的测试标准是MTTF>87600 hours。
(136)使用赛元SC92F7323芯片,外部32K晶振,BTM计时偏差较大,是什么原因?
答:检测在程序中是否频繁操作系统分频,外部时钟源,LVR等信息。
(137)相同工程文件电脑编译提示1987-2009,但在其他电脑上编译正常,是什么原因?
答:为keil软件问题,需要重新新建工程文件来解决。
( 138)使用赛元芯片时,在stop模式下,芯片未使用的IO口如何设置?
答:未使用的IO口设置为强推挽输出低。
(139)使用赛元SC92F7250芯片,当用UART ,Timer1时,会影响到Timer0,是什么原因?
答:检查在UART初始化里面是否操作了TMOD和TCOM两个寄存器,而没有使用或等于,影响了timer0的设置。
(140)使用赛元SC93F8433芯片,寄存器,没有外部中断标志位,请问芯片在外部中断产生后,是靠硬件自动完成的吗?
答:外部中断标志是硬件自动清0的。
(141)使用赛元芯片,写eeprom为啥老是校验失败呢?
答:写EEPROM是因为程序中操作了EEPROM,在进行校验之前芯片已经上电了,就会执行程序,执行程序就会修改EEPROM的内容,就会导致校验时失败。
(142)使用赛元SC92F7546芯片,LCD无法点亮,测试SEG口波形不正常,是什么原因?
答:检查程序,查看RAM地址是否没有被置1,导致程序逻辑错误,导致置1未生效。
(143)使用赛元SC92F8463B芯片,UART通信,TXD口会有毛刺和不正常的低电平产生,是什么原因?
答:可能是程序没有while循环,导致执行完以后跳转到起始地址,使得芯片复位,从而出现了奇怪的现象。
(144)使用赛元SC92F7250芯片,在12M主频下,波特率不稳、乱码多,是什么原因?
答:12M主频下115200波特率误差大,建议换用其他波特率。
(145)使用赛元SC92F7323芯片,eeprom 对地址01写入55 无法回读,是什么原因?
答:检查在option里是否未设置code从0x100开始的。
(146)使用赛元SC92F8003芯片,ADC采集数据不稳定,是什么原因?
答:可能是VDD不准,可加长ADC采样转换时间,选用2.4V为基准电压。
(147)程序运行过程,VREF需切换,如何操作?
答:可用OPINX配合OPREG操作。
(148)使用赛元SC92F7461B芯片,IIC通信出错,一直发送0x00,是什么原因?
答:可能是硬件问题:上拉电阻选择不合适导致。
(149)使用赛元SC92F7323芯片,外部中断2无法进入中断服务函数,是什么原因?
答:请检查程序是否开启外部中断2的服务函数。
(150)使用赛元SC92F8270芯片,计时器溢出,是指THn 和TLn所有位都是1就溢出吗?
答:是的。
(151)使用赛元SC92F8003芯片的外部中断,有时会出现外部中断2次产生的问题,是什么原因?
答:检查程序,是否存在定时器中断里面进行了TF0的清除动作,导致外部中断的标志被误置起,导致中断2次进入。
(152)赛元芯片flash和EEPROM初始值是多少?
答:FLASH里面程序是不固定的,EEPROM里面是0x00。
(153)使用赛元SCW8916B芯片,5V供电,RXD通信后输入3.3V的信号,是否可以正常检测到?
答:通过测试,可以正常通信。
(154)使用赛元SC92F7250芯片,仿真时,ADC没有数据,是什么原因?
答:7250不支持仿真。
(155)使用赛元芯片,如果内部EEPROM坏了,然后对它进行写操作,会不会造成程序死掉?
答: 92系列芯片会死掉,95系列芯片不会死掉。
(156)使用赛元SC92F8003芯片,定时器进不了中断,是什么原因?
答:可能是仿真设置有误。
(157)使用赛元SC92F8545芯片,LED闪烁抖动显示,是什么原因?
答:可能是程序中Sys_scan()函数耗时偏长所致。
(158)使用赛元芯片,定时器无法进中断,是什么原因?
答:检查程序中定时器配置是否正确。
(159)使用赛元SC92F8462芯片,寄存器定义成idata时,仿真时无法清这个寄存器,当定义成XDATA时就可以清,是什么原因?
答:可能是超字节,超出部分字节没有清。
(160)使用赛元SC92F8462B芯片,PWM周期不正确,是什么原因?
答:可能是程序中PWM采样周期计算方式错误。
(161)使用赛元SC92F7321芯片,在KEIL编译界面不会出来下载的按钮,是什么原因?
答:在Utilities框下点setting,选相应芯片型号后可解决。
(162)使用赛元芯片,仿真下是否可以实时查看watch窗口的变量值?
答:目前仿真不支持实时查看变量值。
(163)赛元芯片PWM是否能做到100HZ?
答:PWM不能做到100HZ,周期比较长建议可以使用定时器来做。
(164)使用赛元SC92F7250芯片,进入stop后会被反复唤醒,是什么原因?
答:检查在休眠前看门狗是否关闭。
(165)使用赛元SC92F8003芯片,编译中RAM超过128B会报错,但实际有256B,是什么原因?
答:赛元芯片内部RAM分为高128B和低128B,使用RAM空间高128B需要将一部分变量定义为idata区。
(166)使用赛元SC92F8463B芯片,在仿真模式下是否可以使用IIC?
答:仿真口上的IIC在仿真模式下是不能使用的。
(167)使用赛元SC92F8003芯片,在16M主频情况下工作电压是否能到2.5V?
答:2.5V工作电压不建议跑16M,16M下需要保证供电电压大于2.9V。
(168)使用赛元SC92F7446B芯片,程序如何加密?
答:赛元92系列芯片是默认加密的,且芯片前256bytes禁止MOVC,用户可将关键算法放在前256bytes。
(169)赛元SC92F8547芯片,使用UART时,是否会占用定时器?
答:使用UART0要占用定时器,使用UART1不占用定时器。
(170)赛元SC92F8446B芯片,P0.6用作外部中断, P0口的其他IO变为输入,就会一直进中断,是什么原因?
答:其他P0口需要设为输入带上拉,否则不稳定。
(171)使用赛元空片,测stop模式下电流有50uA,是什么原因?
答:注意将未使用的IO口设为强推挽输出低,并关闭LED。
(172)使用赛元SC92F8462B芯片,串口数据偶尔丢包,是什么原因?
答:检查串口GPIO初始化设置是否未吻合赛元要求设计,一般建议设置为输入带上拉模式。
(173)使用赛元SC92F7323芯片,多路ADC,遇到某1路ADC值偏低,是什么原因?
答:检查程序中是否在定时器中断或者MAIN函数内部触发了ADC转换。
(174)使用赛元SC92F7421芯片,定时器定时时间不准,是什么原因?
答:检查是否未在定时器中断里面进行重装载。
(175)使用赛元SC92F8446B芯片,定时器捕获结果与实际不符,是什么原因?
答:检查主频是否选错。
(176)使用赛元SC92F8446B芯片,UART通讯出错,是什么原因?
答:将UART的TX口和RX口设置为输入带上拉。
(177)赛元SC92F8003芯片的EEPROM默认的读取值是0xff吗?
答:赛元SC92F8003的EEPROM默认的读取值为0x00。
(178)赛元SC92F7421芯片,UART通信需要115200的波特率,计算出来后偏差较大,是什么原因?
答:可微调主频把波特率调准。
(179)使用赛元SC95F7613芯片,外部中断无法唤醒stop模式,是什么原因?
答:检查程序,可能是外部中断口与UART口冲突了,将UART关掉,可以进外部中断。
(180)使用赛元SC92F8462B芯片的定时器2,不管怎么改变初始值,定时时间都是8us,是什么原因?
答:检查程序,在定时器中断里面是否没有对TF2清0。
(181)使用赛元SC92F7322芯片,将timer和外部中断0同时打开后,外部中断标志无法硬件清零,在外部中断里将外部中断0中断标志软件清零,但偶尔还是会有无法清除的情况,是什么原因?
答:可尝试将外部中断0和外部中断1的中断标志都清除。
(182)想在外部中断函数中,启动定时器,但规格书上注意事项写了当使用定时器功能时,不要在外部中断服务函数内操作TR0、TR1、TF0、TF1。请问该如何实现操作?
答:外部中断中不能启动定时器0和定时器1,但是可以启动定时器2。因为TR0和TR1与外部中断标志是在同一个寄存器上,如果频繁操作TR0和TR1,就有可能让TF0和TF1置低,会导致程序频繁进入外部中断。
(183)赛元SC92FW24芯片,使用UART1,进不了接收中断,是什么原因?
答:检查程序中中断函数的中断号是否正确。
(184)使用赛元LB1010弹簧按键类型触摸学习板,用官网例程烧录应用程序后,发现触摸按键无效,是什么原因?
答:检查烧录时,LVR设置是否低于供电电压。
(185)在SC92F7250芯片测试时,程序一直在STARTUP1里面执行不下去,是什么原因?
答:赛元SC92F7250不能仿真,在仿真中无法执行命令语句。
(186)赛元不能仿真的芯片型号有哪些?
答:赛元SC92F725X,SC92F735X,SC92F7308、SC92F7309都不支持仿真。
(187)使用赛元SC92F7446B芯片,仿真输出IO逻辑异常,是什么原因?
答:可能是KEIL未正确设置成功。
(188)赛元SC92F8462B芯片,ADC采样时IO口怎样设置?
答:建议设置为输入模式。
(189)使用赛元SC92F8363B芯片,定时器中断不准,是什么原因?
答:检查定时中断内部函数是否过多。
(190)使用赛元SC92F7445B芯片,SSI和烧录口在同一个端口,仿真时,这两个引脚的串口能使用吗?
答:这两个口可以共用,但是在仿真模式下不能用SSI功能。
(191)使用赛元SC92F7547芯片,IAP操作后发现数据不正确,是什么原因?
答:检查程序,是否存在变量类型定义有误。检查程序中是否将地址变量的类型定义成了char型,导致地址错误,数据写入出错。
(192)赛元SC92F7252芯片能不能驱动LCD段码显示屏?
答:只可驱动二分之一偏置的LCD。
(193)赛元SC92F7252单片机ADC能不能同时测三个通道的电压?
(194)赛元芯片,是否可用128k时钟作为系统时钟?
答:128k时钟不可做系统时钟。
(195)使用赛元SC92F8003芯片,定时器不准,是什么原因?
答:检查程序中是否打开了PWM中断导致。
(196)使用赛元SC92F7308芯片,如何将系统时钟选为24M?
答:赛元SC92F7308的系统时钟不能选为24M,最高12M。
(197)使用赛元SC92F7323芯片,芯片运行异常,是什么原因?
答:检查复位脚是否接GND导致。
(198)使用赛元SC92F8003芯片,不进STOP模式,AD转化完成标志位就可以置1,进入stop唤醒以后AD转化完成的标志位就无法置1了,是什么原因?
答:检查程序:把唤醒放到stop下面。
(199)使用赛元SC92F8003芯片,打开定时器2的捕获功能之后,定时器1失效,是什么原因?
答:检查定时器2中断函数中是否没有做TF2清零动作,导致定时器2一直进中断。
(200)使用赛元SC92F8446B芯片,变量不定义为XDATA就会数据出错,是什么原因?
答:DATA超出范围。
(201)使用赛元芯片,进入仿真后不受控制,程序自动运行且无法停止,是什么原因?
答:检查keil device界面设置是否有问题,导致仿真异常。
(202)利用赛元SC92F8003例程的外部中断1下降沿触发,第一次进入中断后,往后没有触发源触发也会自动进入中断服务函数,是什么原因?
答:检查程序,是否在中断服务函数中操作了TF0=0导致。
(203)使用赛元芯片TWI从机模式,接收数据正常,发送数据错位,是什么原因?
答:可将TWI中断优先级设到最高。
(204)使用赛元SC92F7323芯片,P05电平会受P00电平的影响,是什么原因?
答:可能是为Read IO问题导致,请关闭read IO功能。
(205)使用赛元芯片,在Keil中,是不是要连接上SCLINK工具才能显示仿真界面?
答:要接上烧录工具才能打开仿真界面。
(206)使用赛元SC92F8371芯片,仿真ROM使用超过4K以后,仿真断点打上后 ,会变白,或者断点不会停,是什么原因?
答:仿真和ROM大小没有关系,只要是ROM不超过芯片大小就可以,原因可能为xdata超出了。
(207)赛元SC92F8363B芯片的EEPROM操作时间是多久?
答:赛元92系列产品写EEPROM时间较长,需要1ms,95系列芯片EEPROM操作时间会到达us级,大概25us写一个Byte。
(208)使用赛元芯片,UART通信老化时间久了会出现通信出错和通信停止的现象,是什么原因?
答:查看程序是否存在:在UART1的发送中断标志和接收中断标志位在同一个寄存器上,若进行中断标志清0时,会有误清除的概率,建议重新梳理程序,改为半双工通信,防止发送和接收相互影响。
(209)使用赛元SC92F7321芯片,程序一直复位,是什么原因?
答:检查程序是否存在ADC转换完成标志判断方式错误,导致程序进入死循环,看门狗溢出复位。
(210)赛元烧录软件配置的参数放在了0-0xFF这段ROM区,所以才建议用户不使用0-0xFF这段地址,是吗?
答:前0x100以前的ROM空间只能写,不能读,“
赛元MCU应用注意事项”说明资料上说明是指导如何在前0x100的ROM空间对code进行加密处理。
(211)使用赛元SC92F8371芯片,如何使用TWI通信唤醒芯片?
答:唤醒芯片需要外部中断或者是BTM,赛元SC92F8371的TWI口也是外部中断口,可以在进入stop之前开始外部中断,唤醒后设置为TWI,这样需要主机那边在需要唤醒芯片的时候给TWI口一个边沿信号,然后再启动TWI通信。