打印
[技术问答]

SC92F7308 定时器与串口无法同时使用,赛元FAE指教。

[复制链接]
786|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lzm2008|  楼主 | 2020-6-21 22:14 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
赛元MCU3| | 2020-6-22 18:15 | 只看该作者
您好,附件为修改之后的程序,修改点一共有两处:1,由于在UART中断里面有将TI清0,因此在这个函数里无法跳出while循环,目前改为在UART发送中断里面置起一个UartSendFlag的标志,通过查询UartSendFlag来判断是否完成发送;2,芯片flash的前256bytes是禁止movc的,因此我们在keil上面需要设置程序存储区域从0x100开始,原来的程序没有设置,我将这个设置添加好了。如果需要使用flash的前256bytes的区域,可以参考“赛元SC92F系列mcu应用指南”的第3章节。

1592820797(1).jpg (26.06 KB )

1592820797(1).jpg

1592820764(1).jpg (23.09 KB )

1592820764(1).jpg

1592820718(1).jpg (23.65 KB )

1592820718(1).jpg

1592820688(1).jpg (19.19 KB )

1592820688(1).jpg

1592820578(1).jpg (21.43 KB )

1592820578(1).jpg

1592820653(1).jpg (20.59 KB )

1592820653(1).jpg

赛元SC92F系列MCU应用指南.pdf

1.47 MB

SC92F7308_UART_Timer无法工作-修改.rar

45.17 KB

使用特权

评论回复
板凳
lzm2008|  楼主 | 2020-6-22 21:15 | 只看该作者
感谢,感谢,测试了可以正常工作,看来我还是要多研究一下官方例程,有些处理跟传统的51还是有些许差别。

使用特权

评论回复
地板
lzm2008|  楼主 | 2020-6-22 21:25 | 只看该作者
赛元MCU3 发表于 2020-6-22 18:15
您好,附件为修改之后的程序,修改点一共有两处:1,由于在UART中断里面有将TI清0,因此在这个函数里无法跳 ...

在进一步请教,如果我用图片1 这种模式编译,目前的程序是可以运行的,但是随着的程序的添加,代码量加大,必须要用到图片2的编译模式,但是目前的例程,我如果选择图片2 的模式就直接运行不了,此问题在请指教一下如何解决

使用特权

评论回复
5
赛元MCU3| | 2020-6-23 13:12 | 只看该作者
lzm2008 发表于 2020-6-22 21:25
在进一步请教,如果我用图片1这种模式编译,目前的程序是可以运行的,但是随着的程序的添加,代码量加大 ...

这里建议选择编译模式为small,RAM分为内部RAM和外部RAM,内部RAM一共为256byte,如果要使用内部RAM的高128bytes,需要将变量定义为idata,如果要使用外部的RAM就将变量定义为xdata,可以在编译之后的编译结果下面看到DATA和XDATA的数据,其中DATA的大小就是内部RAM被占用的空间,XDATA的大小就是外部RAM被占用的空间,如果编译结果DATA大小超过了128bytes,没有将部分变量定义为idata,那么就会报错,这时候就可以将部分变量定义为idata或者是xdata,就不会报错了。

使用特权

评论回复
6
lzm2008|  楼主 | 2020-6-23 20:23 | 只看该作者
赛元MCU3 发表于 2020-6-23 13:12
这里建议选择编译模式为small,RAM分为内部RAM和外部RAM,内部RAM一共为256byte,如果要使用内部RAM的高1 ...

了解了,谢谢。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:HOLTEK QQ:710536965 ------------------------------------------------------------------------------

29

主题

184

帖子

0

粉丝