new: 增加实验性质的蜂鸣器发声函数(未来将移除)

This commit is contained in:
fslongjin 2022-08-31 18:04:38 +08:00
parent c39af9d952
commit 3c4a953388
2 changed files with 32 additions and 0 deletions

View File

@ -1,3 +1,28 @@
#include "glib.h"
#include "string.h"
/**
* @brief
*
* @param times
*/
void __experimental_beep(uint64_t times)
{
io_out8(0x43, 182&0xff);
io_out8(0x42, 2280&0xff);
io_out8(0x42, (2280>>8)&0xff);
uint32_t x = io_in8(0x61)&0xff;
x |= 3;
io_out8(0x61, x&0xff);
times *= 10000;
for(uint64_t i=0;i<times;++i)
pause();
x = io_in8(0x61);
x &= 0xfc;
io_out8(0x61, x&0xff);
// 延迟一段时间
for(uint64_t i=0;i<times;++i)
pause();
}

View File

@ -484,3 +484,10 @@ static inline uint64_t copy_to_user(void *dst, void *src, uint64_t size)
: "memory");
return size;
}
/**
* @brief
*
* @param times
*/
void __experimental_beep(uint64_t times);