- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 Linux c应用开发学习
包含头文件:sys/types.h unistd.h。返回值:文件句柄fd ,-1 操作失败。mode: 新建文件的访问权限设置。*pathname: 文件的路径。返回值:文件头的偏移量。包含头文件:unistd.h。包含头文件:unistd.h。SEEK_SET 文件头开始。Linux c应用开发学习。SEEK_END 文件末尾。fd:需要关闭的文件句柄。buf:需要写入的数据。count: 写入长度。返回值:实际写入的长度。buf:读取数据缓存区。count: 读取长度。flags:打开方式。
2023-07-12 15:12:32
134
1
原创 关于stm32单片机的通讯方式
一丶传送方式分3种:1.单工:只能进行接收,或者只能进行发送2.半双工:可以进行接收,也可以进行发送,但是同一时间只能进行接收或者发送。3.全双工:可以进行接收,也可以进行发送,且同一时间,可以同时进行接收和发送。二丶通信方式分两种:1.异步通信:无时序要求,但是效率较低2.同步通心:对时序要求高,效率较高。三丶单片机中通信:1.uart:异步全双工通信2.rs485:异步半双工,rs485的本质就是uart外接485芯片,采用差分信号,抗共模干扰能力强,即抗噪声性能好,但是速度是uart
2022-02-25 09:16:16
4294
2
原创 关于在32位单片机中使用定时器做串口通信数据接收处理
暂不讨论在使用系统的情况,就裸机讨论。1.在一般的情况下,对于串口通信的数据接收,使用的是外部中断的方式进行。但是在时序要求比较严格的时候,外部中断是可能影响程序时序的。2.在串口接收函数 USART_GetFlagStatus()中,每次最大的接收是两个字节的数据,那么在扫描速度足够快的情况下,使用扫描接收的方式是可以确保数据的正确接收的。可以用使用100us的定时中断,对串口进行扫描接收处理。3.可以建立两条时间线,一条专门做串口接收处理,这样就不会影响主时间线的时序了。(rs485也是同理,因为
2022-02-24 13:44:37
1322
原创 做个笔记,关于指针
做个笔记,关于指针指针函数与函数指针指针函数是个函数 int *fun(int x,int y),返回值是指针函数指针是个指针 int (*fun)(int x,int y),存放函数的地址##指针数组和数组指针指针数组是个数组 int *p[n],数组里存放了指针数组指针是个指针 int (*p)[n],放了数组的起始地址。...
2022-02-24 09:55:29
394
原创 关于bootloader和上电程序不运行问题
关于bootloader和上电程序不运行问题 在大部分的情况下,尤其是在小项目的情况下,程序都是从0x0800开始读入的。但是在大型项目,程序的初始化就可能不是了。这里就用到了bootloader。 BL1代码中作用: 初始化基本硬件把Bootloader搬到内存中 初始化异常 模式设置堆栈指针并将bss段清零,为后续的C代码做准备 跳到第二段代码 有时候烧录两个程序,第一个程序没有Bootloader,第二个有,第二个没跳转第二段代码,就可能出现上电不运行的问题。...
2020-08-27 08:50:01
879
原创 LCD显示屏显问题
LCD显示屏显问题lcd显示屏显示时,产生显示错位,错位等问题时有可能是以下两个原因: 第一个是 程序中并未对lcd显示屏进行清屏,lcd显示屏不对某个字显示进行操作的话,会保持原来的状态。 第二个 显示延迟。每个显示函数需要有200us的延迟,可以多个显示语句后统一延迟,如十个显示语句后延迟2000us...
2020-08-20 15:44:00
2047
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人