首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
syd8811专题
让SYD8821 SYD8811更好的下载仿真
对于在KEIL中SYD8821的下载不了的解决办法: SYD8821下载或者仿真要额外接上复位线,一共五根线:VDD,GND,SWDCLK,SWDSDA ,REST,传统jlink的复位管脚如下: 另外可以用验证过的JLINK连接:https://item.taobao.com/item.htm?ft=t&id=669881942076 因为SYD8821是通过复位管脚复位,所以KEIL中做如下
阅读更多...
SYD8811扫描例程使用说明
SYD8811支持扫描不支持连接,打开下面得工程可以看到我们扫描的程序“SYD8811_SDK\Source Code\SYD8811_ble_peripheral\5.SYD8811_BLE_UART_EVBOLED_Scan\Keil”: 这里在ble_init中初始化了扫描参数: 这里把扫描窗口和扫描间隔设置为一样长,也就是说SYD8811将会持续不断的扫面。在进入while1之前开启了
阅读更多...
SYD8811 boot_flashdata 使用说明
boot_flashdata这是一个比较特殊的应用,他在OTA的时候先把数据拷贝到FLASH DATA区,然后由在A区的用户代码决定是否把FLASH DATA区域的数据拷贝到CODEB区来运行,至于内存和代码的分配请看文章:《SYD8811内存和代码的分布》 这里先做一种直接跑到codeB区域运行然后codeA区域失效的方式: OTA完成后把checksum和sz写入数据区: 在需要的时候
阅读更多...
SYD8811 SystemTick中断[MCU时钟源配置为外部晶振]
SYD8811是ARMM0的内核,所以是自带SystemTICK定时器的,这个定时器的时钟源和MCU是同一个时钟源,如果MCU使用的是64M_RCOSC的话这个定时器的时钟源频率能够达到64MHZ,由于MCU的运算速度的原因,对于SystemTick中断超过10US的情况,定时器可能会得不到及时响应造成中断不准确等,所以不建议使用快过10US的定时器.虽然有时间的限制,但是64MHZ这个时钟分辨率
阅读更多...
SYD8811串口全双工自动回传测试问题和解决办法[卡死在发送函数的while中]
原来串口中断的写法如下: 这里接收到数据的时候填充进buff中: 然后主循环中发送出去: 现在测试到上面的代码一段时间后就不会自动回复了: 现在修改中断的逻辑如下: 这时候长时间测试串口都是有回复的,所以一定要先读数据再清除标志位! 本文源码请从如下地址下载:https://download.csdn.net/download/chengdong1314/87105011 卡死在发送
阅读更多...
SYD8811和SYD88221的IO口驱动能力的说明
SYD8811和SYD88221的IO在输出高电平的时候默认最大电流为2MA,但是在PAD模块是有寄存器设置IO口驱动能力为4MA,在SYD8811寄存器是在PIN_CONFIG_TYPE的PAD_OUTPUT_DRV数组,设置为1就打开强输出功能,他和GPIO口的关系并不是一一对应的,这里请看GPIO和PAD的相关文章! SYD8821的寄存器是PAD_CTRL_TYPE里面的PAD_DS寄
阅读更多...
SYD8821和SYD8811在writewithoutresponse属性上的差异
8821没有勾选上writewithoutresponse的情况下write command也能够进来,但是SYD8811是不可以的,从遵循规范的角度上来说,SYD8811的做法更加符合规范!但是SYD8821的做法也是没有问题的,这里另外提及:nordic的芯片和SYD8821的做法是一样的! 注意:也就是说SYD8811的profile的OTA的writewithoutresponse属性
阅读更多...
修改SYD8811通过API修改FLASH DATA大小
这里提供flash_data_size_set接口来修改flash_data,关于这些说明请看例程:“SYD8811_SDK\Source Code\SYD8811_peripheral_misc SYD8811_BLE_UART_OTA_FLASHDATA_size” 打开例程后在main函数中可看到: 这里通过按下按键1来多分配8K的空间,这里测试按下按键1后结果如下: 可以看到复位后
阅读更多...
SYD8811/8810频繁写flashdata然后立即读会造成数据错误的解决办法
在flashdata的测试工程(Source Code\SYD8811_peripheral_misc\flash_internal_custom_Anysize)如果按照下图来修改代码可以发现在写完之后立即读取数据会有问题,但是经过测试发现如果84行的操作一次性把所有的字节读出去来确是没有问题的: if(GPIO_Pin_Read( U32BIT(KEY1))){uint8_t *p_fl
阅读更多...
SYD8811 GPIO21管脚用作RESET复位功能
从SYD8811的“SYD8811_pinmux_table”文档(“比如SDK下面的这个文档Documentation\SYD8811_pinmux_table_20200114 155924.xlsx”)中我们可以看到SYD8811的GPIO21是有复位功能的。只不过芯片在上电的时候默认设置为GPIO功能,所以一般情况下GPIO21拉低是不会复位的。 想要打开GPIO21的复位功能要做两个
阅读更多...