STM8AF系列可以通过Flash Loader Demonstrator用lin总线刷写程序吗
STM8S003F3U6 请求各位大佬支援,但是遇到如下问题。。。这样就一定是这颗芯片的问题吗?
STVD如何生成库文件
STM8 flash 库函数 startaddress = startaddress + ((uint32_t)BlockNum * FLASH_BLOCK_S
stm 8 flash 在RAM运行代码的问题,是不是库函数有问题 Library call (?sll32_l0_l0_a) from within a
STM 有能替代MCHC912B32CFUE8 / NXP的型号吗?
STM8S的CAN总线使用
STM8L151在使用DAC功能后严重发热
STM8 IIC SLAVE 400K
STM8S 定时器1互补输出pwm
1. 楼主可以share一下程序吗?
2. 目前困在STVD环境下,不能重定向printf(),网上IAR环境的重定向调通了,求STVD环境下的code。
3. 用STM8的官方例程UART1Printf在STVD环境下编译OK,但是debug时候报错下载不了程序,报错信息如下图:
C:\Users\crenjo\Desktop\SerialTest\STVD Serial printf error.JPG
4. 针对3中问题,用STVP彻底清空片子里的代码后还是不能烧进去,请问高手有什么解决办法?
备注: 开发环境STVD
MCU: STM8S208MB
谢谢关注
æ¥éä¿¡æ¯
你这个不像是code的问题呀,flash写保护后校验失败,建议看看供电和复位是否正常,可能是由于debug或download过程中突然断电造成的。STVD环境下ST的官网有一些例程。
// 函数功能:初始化UART
// 输入参数:无
// 输出参数:无
// 返 回 值:无
// 备 注:无
void UartInit(void)
{
UART1_CR2 = 0; // 禁止UART发送和接收
UART1_CR1 = 0; // b5 = 0,允许UART
// b2 = 0,禁止校验
UART1_CR3 = 0; // b5,b4 = 00,1个停止位
// 设置波特率,必须注意以下几点:
// (1) 必须先写BRR2
// (2) BRR1存放的是分频系数的第11位到第4位,
// (3) BRR2存放的是分频系数的第15位到第12位,和第3位到第0位
// 例如对于波特率位9600时,分频系数=2000000/9600=208
// 对应的十六进制数为00D0,BBR1=0D,BBR2=00
UART1_BRR2 = 0x00;
UART1_BRR1 = 0x0D;
// 实际的波特率分频系数为0682(1666)
// 对应的波特率为16000000/1666=9600
//UART1_BRR2 = 0x02;
//UART1_BRR1 = 0x68;
UART1_CR2 = 0x2C; // b3 = 1,允许发送
// b2 = 1,允许接收
// b5 = 1,允许产生接收中断
}
// 函数功能:从UART1发送一个字符
// 输入参数:ch -- 要发送的字符
// 输出参数:无
// 返 回 值:无
// 备 注:无
char putchar(char c)
{
while ((UART1_SR & 0x80) == 0x00); // 若发送寄存器不空,则等待
UART1_DR = c; // 将要发送的字符送到数据寄存器
while ((UART1_SR & 0x80) == 0x00); // 若发送寄存器不空,则等待
return c;
}
评分
评分
查看全部评分