棋牌麻将 - 常用胡牌规则解释及汇总

基础规则

  1. 玩家手牌中必须拥有并只能拥有一个对子时才可胡牌
  2. 玩家手牌中不能出现单张牌,手牌中所有牌都必须和其他牌组成其他类型。

特殊规则

  1. 清一色

    只有一种颜色的牌,即只有万,或者筒,或者条构成的可以胡牌的类型。

  2. 二五八将

    指和牌中将牌必须是牌点为2、5、8的万、筒、条牌

  3. 七小对

    胡牌时手牌中全部都由 对子 组成

  4. 豪华七对

    在七小对的基础上,如果其中两对是同一张牌的全部四张称为豪华七对

  5. 十三幺

    东南西北中发白一样一张,然后再加一、九条,一、九万、一、九饼,这些是基础的牌。第十四张就是上面这些牌里的任意一张。

  6. 十三不靠

    顾名思义就是谁也不挨着谁,具体的就是三个花色的牌谁和谁都不连续,比如一四七饼,二五八万,三六九条,再加上东南西北中发白,外加上面排里的任意一张

HAL(Hardware Abstraction Layer,硬件抽象层)是STM32CubeMX的一部分,它提供了一种标准化的方式来访问STM32微控制器的各种功能,包括读写内部。在STM32F4系列中,内部Flash通常用于存储程序代码、配置数据等。 以下是使用STM32CubeMXHAL通过代码来操作内部Flash的基本步骤: 1. **初始化**: 首先,在你的C代码中,需要包含相关的HAL头文件,并初始化HAL,例如 `stm32f4xx_hal_flash.h` 和 `stm32f4xx_hal_flash_ex.h`。 ```c #include "stm32f4xx_hal_flash.h" ... HAL_Init(); FLASH年由HAL_FLASH_Init()函数初始化; ``` 2. **选择Flash分区**: STM32F4有多种Flash分区,如Program Flash、Option Bytes等。你需要明确你要操作的是哪一块分区,比如使用`FLASH分区管理结构体`,如`FLASH分区结构体` (FLASH分区结构体)。 ```c FLASH分区_t flash分区; flash分区.Address = FLASH_REGION_1; // 设置分区地址 ``` 3. **擦除**: 使用`HAL_FLASH erased_ranges`函数选择要擦除的范围并执行擦除操作。 ```c FLASH_EraseOptionsTypeDef erase_options; erase_options.TypeOfOperation = FLASH_TYPEERASE; erase_options.EraseAllPages = ENABLE; HAL_FLASHEx_Erase(&flash分区, &erase_options); ``` 4. **编程**: 使用`HAL_FLASH_Program`函数将数据写入Flash。 ```c uint8_t data[] = {0x01, 0x02, 0x03}; // 数据字节数组 HAL_FLASH_Program(FLASH_WRITE, flash分区.Address, 0, sizeof(data), data); ``` 5. **等待操作完成**: 对于一些长时间的操作(如擦除),可能会有延时或确认请求,可以使用`HAL_Delay`等待或检查操作状态。 6. **处理异常**:记得捕获和处理可能出现的错误,比如`HAL_StatusTypeDef status = HAL_FLASHEx_WaitForLastOperationUntilEnd()`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值